On Wed, Sep 09, 2020 at 05:55:33AM -0700, Tom Rix wrote: > > On 9/7/20 10:48 PM, Xu Yilun wrote: > > In order to support MODULE_DEVICE_TABLE() for dfl device driver, this > > patch moves struct dfl_device_id to mod_devicetable.h > > > > Signed-off-by: Xu Yilun <yilun...@intel.com> > > Signed-off-by: Wu Hao <hao...@intel.com> > > Signed-off-by: Matthew Gerlach <matthew.gerl...@linux.intel.com> > > Signed-off-by: Russ Weight <russell.h.wei...@intel.com> > > --- > > drivers/fpga/dfl.h | 13 +------------ > > include/linux/mod_devicetable.h | 12 ++++++++++++ > > 2 files changed, 13 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/fpga/dfl.h b/drivers/fpga/dfl.h > > index 5dc758f..d5b0760 100644 > > --- a/drivers/fpga/dfl.h > > +++ b/drivers/fpga/dfl.h > > @@ -26,6 +26,7 @@ > > #include <linux/slab.h> > > #include <linux/uuid.h> > > #include <linux/fpga/fpga-region.h> > > +#include <linux/mod_devicetable.h> > > > > /* maximum supported number of ports */ > > #define MAX_DFL_FPGA_PORT_NUM 4 > > @@ -526,18 +527,6 @@ enum dfl_id_type { > > }; > > > > /** > > - * struct dfl_device_id - dfl device identifier > > - * @type: contains 4 bits DFL FIU type of the device. See enum dfl_id_type. > > - * @feature_id: contains 12 bits feature identifier local to its DFL FIU > > type. > > - * @driver_data: driver specific data. > > - */ > > -struct dfl_device_id { > > - u8 type; > > - u16 feature_id; > > - unsigned long driver_data; > > -}; > > - > > -/** > > * struct dfl_device - represent an dfl device on dfl bus > > * > > * @dev: generic device interface. > > diff --git a/include/linux/mod_devicetable.h > > b/include/linux/mod_devicetable.h > > index 5b08a47..407d8dc 100644 > > --- a/include/linux/mod_devicetable.h > > +++ b/include/linux/mod_devicetable.h > > @@ -838,4 +838,16 @@ struct mhi_device_id { > > kernel_ulong_t driver_data; > > }; > > > > +/** > > + * struct dfl_device_id - dfl device identifier > > + * @type: contains 4 bits DFL FIU type of the device. See enum dfl_id_type. > > + * @feature_id: contains 12 bits feature identifier local to its DFL FIU > > type. > > + * @driver_data: driver specific data. > > + */ > > +struct dfl_device_id { > > + __u8 type; > > + __u16 feature_id; > > I thought i saw feature id's going to 64 bit, does this type need to expand ?
Feature id is a 12bit field in DFL spec. Previously we define it u64 cause we are considering it may expand sometime. But now seems GUID will be used in future design. And the header file will be used by modpost, which is not supporting u64 now. So it is not necessary we use u64 for extra work. A patch is already applied for this change - "change data type of feature id to u16" Thanks, Yilun > > TomĀ > > > + kernel_ulong_t driver_data; > > +}; > > + > > #endif /* LINUX_MOD_DEVICETABLE_H */