[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bfea9fbe-663a-69e4-29f1-5e90a8d9e475@redhat.com>
Date: Wed, 22 Feb 2017 09:29:11 +0100
From: Hans de Goede <hdegoede@...hat.com>
To: Javier Martinez Canillas <javier@....samsung.com>,
linux-kernel@...r.kernel.org
Cc: platform-driver-x86@...r.kernel.org,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
linux-input@...r.kernel.org
Subject: Re: [PATCH 1/3] Input: silead - Add OF device ID table
Hi,
On 21-02-17 19:12, Javier Martinez Canillas wrote:
> The driver doesn't have a struct of_device_id table but supported devices
> are registered via Device Trees. This is working on the assumption that a
> I2C device registered via OF will always match a legacy I2C device ID and
> that the MODALIAS reported will always be of the form i2c:<device>.
>
> But this could change in the future so the correct approach is to have an
> OF device ID table if the devices are registered via OF.
>
> Signed-off-by: Javier Martinez Canillas <javier@....samsung.com>
> ---
>
> drivers/input/touchscreen/silead.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c
> index 404830a4a366..aae3ba1c3e02 100644
> --- a/drivers/input/touchscreen/silead.c
> +++ b/drivers/input/touchscreen/silead.c
> @@ -580,12 +580,26 @@ static const struct acpi_device_id silead_ts_acpi_match[] = {
> MODULE_DEVICE_TABLE(acpi, silead_ts_acpi_match);
> #endif
>
> +#ifdef CONFIG_OF
> +static const struct of_device_id silead_ts_of_match[] = {
> + { .compatible = "silead,gsl1680" },
> + { .compatible = "silead,gsl1688" },
> + { .compatible = "silead,gsl3670" },
> + { .compatible = "silead,gsl3675" },
> + { .compatible = "silead,gsl3692" },
> + { .compatible = "silead,mssl1680" },
> + { },
> +};
Please drop the mssl1680 compatible, that id an ACPI ugliness
which we don't need for devicetree.
Otherwise looks good to me.
Regards,
Hans
> +MODULE_DEVICE_TABLE(of, silead_ts_of_match);
> +#endif
> +
> static struct i2c_driver silead_ts_driver = {
> .probe = silead_ts_probe,
> .id_table = silead_ts_id,
> .driver = {
> .name = SILEAD_TS_NAME,
> .acpi_match_table = ACPI_PTR(silead_ts_acpi_match),
> + .of_match_table = of_match_ptr(silead_ts_of_match),
> .pm = &silead_ts_pm,
> },
> };
>
Powered by blists - more mailing lists