On 9/10/20 1:41 AM, Xu Yilun wrote: > 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.xu@xxxxxxxxx> >>> Signed-off-by: Wu Hao <hao.wu@xxxxxxxxx> >>> Signed-off-by: Matthew Gerlach <matthew.gerlach@xxxxxxxxxxxxxxx> >>> Signed-off-by: Russ Weight <russell.h.weight@xxxxxxxxx> >>> --- >>> 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 Thanks for the explanation. Reviewed-by: Tom Rix <trix@xxxxxxxxxx> > >> Tom >> >>> + kernel_ulong_t driver_data; >>> +}; >>> + >>> #endif /* LINUX_MOD_DEVICETABLE_H */