From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Ribalda Delgado Subject: [PATCH v2 01/24] serdev: Add id_table to serdev_device_driver Date: Mon, 11 Jun 2018 13:52:17 +0200 Message-ID: <20180611115240.32606-2-ricardo.ribalda@gmail.com> References: <20180611115240.32606-1-ricardo.ribalda@gmail.com> Return-path: In-Reply-To: <20180611115240.32606-1-ricardo.ribalda@gmail.com> Sender: linux-kernel-owner@vger.kernel.org To: linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Cc: Ricardo Ribalda Delgado , Rob Herring , Johan Hovold , Greg Kroah-Hartman List-Id: linux-serial@vger.kernel.org Currently, serdev device driver can only be used with devices that are nodes of a device tree, or are part of the ACPI table. Id_table will be used for devices that are created at runtime or that are not part of the device tree nor the ACPI table. Cc: Rob Herring Cc: Johan Hovold Cc: Greg Kroah-Hartman Signed-off-by: Ricardo Ribalda Delgado --- include/linux/mod_devicetable.h | 10 ++++++++++ include/linux/serdev.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 7d361be2e24f..1877a4e43f1b 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -448,6 +448,16 @@ struct pci_epf_device_id { kernel_ulong_t driver_data; }; +/* serdev */ + +#define SERDEV_NAME_SIZE 32 +#define SERDEV_MODULE_PREFIX "serdev:" + +struct serdev_device_id { + char name[SERDEV_NAME_SIZE]; + kernel_ulong_t driver_data; /* Data private to the driver */ +}; + /* spi */ #define SPI_NAME_SIZE 32 diff --git a/include/linux/serdev.h b/include/linux/serdev.h index f153b2c7f0cd..62f1b085a794 100644 --- a/include/linux/serdev.h +++ b/include/linux/serdev.h @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -68,6 +69,7 @@ static inline struct serdev_device *to_serdev_device(struct device *d) * @remove: unbinds this driver from the serdev device. */ struct serdev_device_driver { + const struct serdev_device_id *id_table; struct device_driver driver; int (*probe)(struct serdev_device *); void (*remove)(struct serdev_device *); -- 2.17.1