Re: linux-next: manual merge of the char-misc tree with the drivers-x86 tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 23, 2021 at 02:28:33PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> On Mon, 15 Feb 2021 07:44:31 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > On Mon, 11 Jan 2021 13:08:51 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> 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.
> > > 
> > > 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.
> 
> This is now a conflict between the char-misc tree and Linus' tree.

Linus resolved this now.

thnaks,

greg k-h




[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux