Re: [PATCH 1/3] fpga: dfl: move dfl_device_id to mod_devicetable.h

From: Tom Rix
Date: Wed Sep 09 2020 - 10:16:01 EST



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 ?

Tom 

> + kernel_ulong_t driver_data;
> +};
> +
> #endif /* LINUX_MOD_DEVICETABLE_H */