public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb•auug.org.au>
To: Greg KH <greg@kroah•com>, Arnd Bergmann <arnd@arndb•de>,
	Hans de Goede <hdegoede@redhat•com>,
	Mark Gross <mark.gross@intel•com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation•org>,
	Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
	Linux Next Mailing List <linux-next@vger•kernel.org>,
	Matthew Gerlach <matthew.gerlach@linux•intel.com>,
	Maximilian Luz <luzmaximilian@gmail•com>,
	Moritz Fischer <mdf@kernel•org>,
	Russ Weight <russell.h.weight@intel•com>,
	Wu Hao <hao.wu@intel•com>, Xu Yilun <yilun.xu@intel•com>
Subject: Re: linux-next: manual merge of the char-misc tree with the drivers-x86 tree
Date: Mon, 15 Feb 2021 07:44:31 +1100	[thread overview]
Message-ID: <20210215074431.7a06b223@canb.auug.org.au> (raw)
In-Reply-To: <20210111130851.374bf4ea@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 5512 bytes --]

Hi all,

On Mon, 11 Jan 2021 13:08:51 +1100 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
>
> Today's linux-next merge of the char-misc tree got conflicts in:
> 
>   include/linux/mod_devicetable.h
>   scripts/mod/devicetable-offsets.c
>   scripts/mod/file2alias.c
> 
> between commit:
> 
>   eb0e90a82098 ("platform/surface: aggregator: Add dedicated bus and device type")
> 
> from the drivers-x86 tree and commits:
> 
>   9326eecd9365 ("fpga: dfl: move dfl_device_id to mod_devicetable.h")
>   4a224acec597 ("fpga: dfl: add dfl bus support to MODULE_DEVICE_TABLE()")
> 
> from the char-misc tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc include/linux/mod_devicetable.h
> index 935060955152,b8dae34eca10..000000000000
> --- a/include/linux/mod_devicetable.h
> +++ b/include/linux/mod_devicetable.h
> @@@ -846,22 -846,28 +846,46 @@@ struct auxiliary_device_id 
>   	kernel_ulong_t driver_data;
>   };
>   
>  +/* Surface System Aggregator Module */
>  +
>  +#define SSAM_MATCH_TARGET	0x1
>  +#define SSAM_MATCH_INSTANCE	0x2
>  +#define SSAM_MATCH_FUNCTION	0x4
>  +
>  +struct ssam_device_id {
>  +	__u8 match_flags;
>  +
>  +	__u8 domain;
>  +	__u8 category;
>  +	__u8 target;
>  +	__u8 instance;
>  +	__u8 function;
>  +
>  +	kernel_ulong_t driver_data;
>  +};
>  +
> + /*
> +  * DFL (Device Feature List)
> +  *
> +  * DFL defines a linked list of feature headers within the device MMIO space to
> +  * provide an extensible way of adding features. Software can walk through these
> +  * predefined data structures to enumerate features. It is now used in the FPGA.
> +  * See Documentation/fpga/dfl.rst for more information.
> +  *
> +  * The dfl bus type is introduced to match the individual feature devices (dfl
> +  * devices) for specific dfl drivers.
> +  */
> + 
> + /**
> +  * struct dfl_device_id -  dfl device identifier
> +  * @type: DFL FIU type of the device. See enum dfl_id_type.
> +  * @feature_id: feature identifier local to its DFL FIU type.
> +  * @driver_data: driver specific data.
> +  */
> + struct dfl_device_id {
> + 	__u16 type;
> + 	__u16 feature_id;
> + 	kernel_ulong_t driver_data;
> + };
> + 
>   #endif /* LINUX_MOD_DEVICETABLE_H */
> diff --cc scripts/mod/devicetable-offsets.c
> index f078eeb0a961,1b14f3cde4e5..000000000000
> --- a/scripts/mod/devicetable-offsets.c
> +++ b/scripts/mod/devicetable-offsets.c
> @@@ -246,13 -246,9 +246,17 @@@ int main(void
>   	DEVID(auxiliary_device_id);
>   	DEVID_FIELD(auxiliary_device_id, name);
>   
>  +	DEVID(ssam_device_id);
>  +	DEVID_FIELD(ssam_device_id, match_flags);
>  +	DEVID_FIELD(ssam_device_id, domain);
>  +	DEVID_FIELD(ssam_device_id, category);
>  +	DEVID_FIELD(ssam_device_id, target);
>  +	DEVID_FIELD(ssam_device_id, instance);
>  +	DEVID_FIELD(ssam_device_id, function);
>  +
> + 	DEVID(dfl_device_id);
> + 	DEVID_FIELD(dfl_device_id, type);
> + 	DEVID_FIELD(dfl_device_id, feature_id);
> + 
>   	return 0;
>   }
> diff --cc scripts/mod/file2alias.c
> index d21d2871387b,7ebabeb1e9c9..000000000000
> --- a/scripts/mod/file2alias.c
> +++ b/scripts/mod/file2alias.c
> @@@ -1375,28 -1375,18 +1375,40 @@@ static int do_auxiliary_entry(const cha
>   	return 1;
>   }
>   
>  +/*
>  + * Looks like: ssam:dNcNtNiNfN
>  + *
>  + * N is exactly 2 digits, where each is an upper-case hex digit.
>  + */
>  +static int do_ssam_entry(const char *filename, void *symval, char *alias)
>  +{
>  +	DEF_FIELD(symval, ssam_device_id, match_flags);
>  +	DEF_FIELD(symval, ssam_device_id, domain);
>  +	DEF_FIELD(symval, ssam_device_id, category);
>  +	DEF_FIELD(symval, ssam_device_id, target);
>  +	DEF_FIELD(symval, ssam_device_id, instance);
>  +	DEF_FIELD(symval, ssam_device_id, function);
>  +
>  +	sprintf(alias, "ssam:d%02Xc%02X", domain, category);
>  +	ADD(alias, "t", match_flags & SSAM_MATCH_TARGET, target);
>  +	ADD(alias, "i", match_flags & SSAM_MATCH_INSTANCE, instance);
>  +	ADD(alias, "f", match_flags & SSAM_MATCH_FUNCTION, function);
>  +
>  +	return 1;
>  +}
>  +
> + /* Looks like: dfl:tNfN */
> + static int do_dfl_entry(const char *filename, void *symval, char *alias)
> + {
> + 	DEF_FIELD(symval, dfl_device_id, type);
> + 	DEF_FIELD(symval, dfl_device_id, feature_id);
> + 
> + 	sprintf(alias, "dfl:t%04Xf%04X", type, feature_id);
> + 
> + 	add_wildcard(alias);
> + 	return 1;
> + }
> + 
>   /* Does namelen bytes of name exactly match the symbol? */
>   static bool sym_is(const char *name, unsigned namelen, const char *symbol)
>   {
> @@@ -1472,7 -1462,7 +1484,8 @@@ static const struct devtable devtable[
>   	{"wmi", SIZE_wmi_device_id, do_wmi_entry},
>   	{"mhi", SIZE_mhi_device_id, do_mhi_entry},
>   	{"auxiliary", SIZE_auxiliary_device_id, do_auxiliary_entry},
>  +	{"ssam", SIZE_ssam_device_id, do_ssam_entry},
> + 	{"dfl", SIZE_dfl_device_id, do_dfl_entry},
>   };
>   
>   /* Create MODULE_ALIAS() statements.

With the merge window about to open, this is a reminder that this
conflict still exists.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  parent reply	other threads:[~2021-02-14 20:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-11  2:08 linux-next: manual merge of the char-misc tree with the drivers-x86 tree Stephen Rothwell
2021-01-11  7:25 ` Greg KH
2021-02-14 20:44 ` Stephen Rothwell [this message]
2021-02-23  3:28   ` Stephen Rothwell
2021-02-25  7:00     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210215074431.7a06b223@canb.auug.org.au \
    --to=sfr@canb$(echo .)auug.org.au \
    --cc=arnd@arndb$(echo .)de \
    --cc=greg@kroah$(echo .)com \
    --cc=gregkh@linuxfoundation$(echo .)org \
    --cc=hao.wu@intel$(echo .)com \
    --cc=hdegoede@redhat$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-next@vger$(echo .)kernel.org \
    --cc=luzmaximilian@gmail$(echo .)com \
    --cc=mark.gross@intel$(echo .)com \
    --cc=matthew.gerlach@linux$(echo .)intel.com \
    --cc=mdf@kernel$(echo .)org \
    --cc=russell.h.weight@intel$(echo .)com \
    --cc=yilun.xu@intel$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox