Re: [PATCH v2 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 06/01/2025 19:30, Andrew Davis wrote:
> On 1/4/25 12:21 PM, Roger Quadros wrote:
>>
>>
>> On 04/01/2025 00:54, Shree Ramamoorthy wrote:
>>> Add platform_device_id struct and use the platform_get_device_id() output
>>> to match which PMIC device is in use. With new name options, the gpio_chip
>>> .label field is now assigned to the platform_device name match.
>>>
>>> Remove MODULE_ALIAS since it is now generated by MODULE_DEVICE_TABLE.
>>>
>>> Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@xxxxxx>
>>> ---
>>>   drivers/gpio/gpio-tps65219.c | 17 ++++++++++++-----
>>>   1 file changed, 12 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c
>>> index 526640c39a11..7e03be0c7c92 100644
>>> --- a/drivers/gpio/gpio-tps65219.c
>>> +++ b/drivers/gpio/gpio-tps65219.c
>>> @@ -1,8 +1,8 @@
>>>   // SPDX-License-Identifier: GPL-2.0
>>>   /*
>>> - * GPIO driver for TI TPS65219 PMICs
>>> + * GPIO driver for TI TPS65215/TPS65219 PMICs
>>>    *
>>> - * Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com/
>>> + * Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com/
>>>    */
>>>     #include <linux/bits.h>
>>> @@ -141,7 +141,6 @@ static int tps65219_gpio_direction_output(struct gpio_chip *gc, unsigned int off
>>>   }
>>>     static const struct gpio_chip tps65219_template_chip = {
>>> -    .label            = "tps65219-gpio",
>>>       .owner            = THIS_MODULE,
>>>       .get_direction        = tps65219_gpio_get_direction,
>>>       .direction_input    = tps65219_gpio_direction_input,
>>> @@ -164,20 +163,28 @@ static int tps65219_gpio_probe(struct platform_device *pdev)
>>>         gpio->tps = tps;
>>>       gpio->gpio_chip = tps65219_template_chip;
>>> +    gpio->gpio_chip.label = dev_name(&pdev->dev);
>>>       gpio->gpio_chip.parent = tps->dev;
>>>         return devm_gpiochip_add_data(&pdev->dev, &gpio->gpio_chip, gpio);
>>>   }
>>>   +static const struct platform_device_id tps6521x_gpio_id_table[] = {
>>> +    { "tps65215-gpio", TPS65215 },
>>> +    { "tps65219-gpio", TPS65219 },
>>> +    { }
>>> +};
>>> +MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
>>> +
>>>   static struct platform_driver tps65219_gpio_driver = {
>>>       .driver = {
>>>           .name = "tps65219-gpio",
>>>       },
>>>       .probe = tps65219_gpio_probe,
>>> +    .id_table = tps6521x_gpio_id_table,
>>>   };
>>>   module_platform_driver(tps65219_gpio_driver);
>>>   -MODULE_ALIAS("platform:tps65219-gpio");
>>
>> Why do you drop the MODULE_ALIAS?
>> You can add multiple MODULE_ALIASES if needed.
>>
> 
> The new MODULE_DEVICE_TABLE() above causes all the needed
> module aliases to be made for us automatically.

Thanks!

> 
>>>   MODULE_AUTHOR("Jonathan Cormier <jcormier@xxxxxxxxxxxxxxxx>");
>>> -MODULE_DESCRIPTION("TPS65219 GPIO driver");
>>> +MODULE_DESCRIPTION("TPS65215/TPS65219 GPIO driver");
>>
>> "TPS6521x GPIO driver"?
>>
>> I also see a product named TPS65216.
>> By any chance can that be also supported by this driver?
>>
> 
> That is kinda the issue with "x" in the name, TPS65216 might
> need a different driver, in which case the x here would mislead
> folks into thinking this driver covers the whole family.

Agreed.

> 
> Andrew
> 
>>>   MODULE_LICENSE("GPL");
>>

-- 
cheers,
-roger





[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux