diff mbox

rtc: mt6397: Add platform device ID table

Message ID 1455016095-13724-1-git-send-email-javier@osg.samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Javier Martinez Canillas Feb. 9, 2016, 11:08 a.m. UTC
The platform bus_type .match callback attempts to match the platform device
name with an entry on the .id_table if provided and fallbacks to match with
the driver's name if a table is not provided.

Using a platform device ID to match is more explicit, allows the driver to
support more than one device and also the MODULE_DEVICE_TABLE macro can be
used to export the module aliases information instead of the MODULE_ALIAS.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

---

 drivers/rtc/rtc-mt6397.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Eddie Huang (黃智傑) Feb. 15, 2016, 1:58 a.m. UTC | #1
On Tue, 2016-02-09 at 08:08 -0300, Javier Martinez Canillas wrote:
> The platform bus_type .match callback attempts to match the platform device
> name with an entry on the .id_table if provided and fallbacks to match with
> the driver's name if a table is not provided.
> 
> Using a platform device ID to match is more explicit, allows the driver to
> support more than one device and also the MODULE_DEVICE_TABLE macro can be
> used to export the module aliases information instead of the MODULE_ALIAS.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> 
> ---
> 
>  drivers/rtc/rtc-mt6397.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c
> index 06a5c52b292f..46533f11f7fc 100644
> --- a/drivers/rtc/rtc-mt6397.c
> +++ b/drivers/rtc/rtc-mt6397.c
> @@ -404,6 +404,12 @@ static const struct of_device_id mt6397_rtc_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, mt6397_rtc_of_match);
>  
> +static const struct platform_device_id mt6397_rtc_id[] = {
> +	{"mt6397-rtc", 0},
> +	{ /* sentinel */ },
> +};
> +MODULE_DEVICE_TABLE(platform, mt6397_rtc_id);
> +
>  static struct platform_driver mtk_rtc_driver = {
>  	.driver = {
>  		.name = "mt6397-rtc",
> @@ -412,6 +418,7 @@ static struct platform_driver mtk_rtc_driver = {
>  	},
>  	.probe	= mtk_rtc_probe,
>  	.remove = mtk_rtc_remove,
> +	.id_table = mt6397_rtc_id,
>  };
>  
>  module_platform_driver(mtk_rtc_driver);
> @@ -419,4 +426,3 @@ module_platform_driver(mtk_rtc_driver);
>  MODULE_LICENSE("GPL v2");
>  MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
>  MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
> -MODULE_ALIAS("platform:mt6397-rtc");

This patch looks good to me, but I am wondering, since we tend to use
device tree method to match driver, do we still need support platform
device ID ?

Eddie
Javier Martinez Canillas Feb. 15, 2016, 2:50 p.m. UTC | #2
Hello Eddie,

On 02/14/2016 10:58 PM, Eddie Huang wrote:

[snip]

>> @@ -412,6 +418,7 @@ static struct platform_driver mtk_rtc_driver = {
>>   	},
>>   	.probe	= mtk_rtc_probe,
>>   	.remove = mtk_rtc_remove,
>> +	.id_table = mt6397_rtc_id,
>>   };
>>
>>   module_platform_driver(mtk_rtc_driver);
>> @@ -419,4 +426,3 @@ module_platform_driver(mtk_rtc_driver);
>>   MODULE_LICENSE("GPL v2");
>>   MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
>>   MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
>> -MODULE_ALIAS("platform:mt6397-rtc");
>
> This patch looks good to me, but I am wondering, since we tend to use
> device tree method to match driver, do we still need support platform
> device ID ?
>

I'm not familiar with neither this IP block nor the SoC so it is up to
you. I just noticed this issue when reviewing a regulator driver for a
similar PMIC posted by someone from mediatek.

I thought platform device was needed since the driver has a MODULE_ALIAS()
but please let me know what you prefer and I can re-spin the patch and
just remove the MODULE_ALIAS() if that makes more sense for this platform.
  
> Eddie
>
>

Best regards,
Arnd Bergmann Feb. 16, 2016, 11:37 a.m. UTC | #3
On Monday 15 February 2016 11:50:48 Javier Martinez Canillas wrote:
> 
> On 02/14/2016 10:58 PM, Eddie Huang wrote:
> 
> [snip]
> 
> >> @@ -412,6 +418,7 @@ static struct platform_driver mtk_rtc_driver = {
> >>      },
> >>      .probe  = mtk_rtc_probe,
> >>      .remove = mtk_rtc_remove,
> >> +    .id_table = mt6397_rtc_id,
> >>   };
> >>
> >>   module_platform_driver(mtk_rtc_driver);
> >> @@ -419,4 +426,3 @@ module_platform_driver(mtk_rtc_driver);
> >>   MODULE_LICENSE("GPL v2");
> >>   MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
> >>   MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
> >> -MODULE_ALIAS("platform:mt6397-rtc");
> >
> > This patch looks good to me, but I am wondering, since we tend to use
> > device tree method to match driver, do we still need support platform
> > device ID ?
> >
> 
> I'm not familiar with neither this IP block nor the SoC so it is up to
> you. I just noticed this issue when reviewing a regulator driver for a
> similar PMIC posted by someone from mediatek.
> 
> I thought platform device was needed since the driver has a MODULE_ALIAS()
> but please let me know what you prefer and I can re-spin the patch and
> just remove the MODULE_ALIAS() if that makes more sense for this platform.
>   
> 

I agree. We can alway add a MODULE_DEVICE_TABLE() if we get multiple
users of this driver on architectures that don't use devicetree yet.

	Arnd
Eddie Huang (黃智傑) Feb. 16, 2016, 1:19 p.m. UTC | #4
On Tue, 2016-02-16 at 12:37 +0100, Arnd Bergmann wrote:
> On Monday 15 February 2016 11:50:48 Javier Martinez Canillas wrote:
> > 
> > On 02/14/2016 10:58 PM, Eddie Huang wrote:
> > 
> > [snip]
> > 
> > >> @@ -412,6 +418,7 @@ static struct platform_driver mtk_rtc_driver = {
> > >>      },
> > >>      .probe  = mtk_rtc_probe,
> > >>      .remove = mtk_rtc_remove,
> > >> +    .id_table = mt6397_rtc_id,
> > >>   };
> > >>
> > >>   module_platform_driver(mtk_rtc_driver);
> > >> @@ -419,4 +426,3 @@ module_platform_driver(mtk_rtc_driver);
> > >>   MODULE_LICENSE("GPL v2");
> > >>   MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
> > >>   MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
> > >> -MODULE_ALIAS("platform:mt6397-rtc");
> > >
> > > This patch looks good to me, but I am wondering, since we tend to use
> > > device tree method to match driver, do we still need support platform
> > > device ID ?
> > >
> > 
> > I'm not familiar with neither this IP block nor the SoC so it is up to
> > you. I just noticed this issue when reviewing a regulator driver for a
> > similar PMIC posted by someone from mediatek.
> > 
> > I thought platform device was needed since the driver has a MODULE_ALIAS()
> > but please let me know what you prefer and I can re-spin the patch and
> > just remove the MODULE_ALIAS() if that makes more sense for this platform.
> >   
> > 
> 
> I agree. We can alway add a MODULE_DEVICE_TABLE() if we get multiple
> users of this driver on architectures that don't use devicetree yet.
> 

Sure. Thanks the patch to add expandability to this driver.

Acked-by: Eddie Huang <eddie.huang@mediatek.com>

Eddie
Arnd Bergmann Feb. 24, 2016, 4:56 p.m. UTC | #5
On Tuesday 16 February 2016 21:19:07 Eddie Huang wrote:
> On Tue, 2016-02-16 at 12:37 +0100, Arnd Bergmann wrote:
> > On Monday 15 February 2016 11:50:48 Javier Martinez Canillas wrote:
> > > 
> > > On 02/14/2016 10:58 PM, Eddie Huang wrote:
> > > 
> > > [snip]
> > > 
> > > >> @@ -412,6 +418,7 @@ static struct platform_driver mtk_rtc_driver = {
> > > >>      },
> > > >>      .probe  = mtk_rtc_probe,
> > > >>      .remove = mtk_rtc_remove,
> > > >> +    .id_table = mt6397_rtc_id,
> > > >>   };
> > > >>
> > > >>   module_platform_driver(mtk_rtc_driver);
> > > >> @@ -419,4 +426,3 @@ module_platform_driver(mtk_rtc_driver);
> > > >>   MODULE_LICENSE("GPL v2");
> > > >>   MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
> > > >>   MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
> > > >> -MODULE_ALIAS("platform:mt6397-rtc");
> > > >
> > > > This patch looks good to me, but I am wondering, since we tend to use
> > > > device tree method to match driver, do we still need support platform
> > > > device ID ?
> > > >
> > > 
> > > I'm not familiar with neither this IP block nor the SoC so it is up to
> > > you. I just noticed this issue when reviewing a regulator driver for a
> > > similar PMIC posted by someone from mediatek.
> > > 
> > > I thought platform device was needed since the driver has a MODULE_ALIAS()
> > > but please let me know what you prefer and I can re-spin the patch and
> > > just remove the MODULE_ALIAS() if that makes more sense for this platform.
> > >   
> > > 
> > 
> > I agree. We can alway add a MODULE_DEVICE_TABLE() if we get multiple
> > users of this driver on architectures that don't use devicetree yet.
> > 
> 
> Sure. Thanks the patch to add expandability to this driver.
> 
> Acked-by: Eddie Huang <eddie.huang@mediatek.com>

I think we misunderstood one another. I think we can drop both the MODULE_DEVICE_TABLE and the MODULE_ALIAS: there is no need for another
driver ID when it is always probed using DT.

	Arnd
Javier Martinez Canillas Feb. 24, 2016, 5:02 p.m. UTC | #6
Hello Arnd,

On 02/24/2016 01:56 PM, Arnd Bergmann wrote:
> On Tuesday 16 February 2016 21:19:07 Eddie Huang wrote:
>> On Tue, 2016-02-16 at 12:37 +0100, Arnd Bergmann wrote:
>>> On Monday 15 February 2016 11:50:48 Javier Martinez Canillas wrote:
>>>>
>>>> On 02/14/2016 10:58 PM, Eddie Huang wrote:
>>>>
>>>> [snip]
>>>>
>>>>>> @@ -412,6 +418,7 @@ static struct platform_driver mtk_rtc_driver = {
>>>>>>       },
>>>>>>       .probe  = mtk_rtc_probe,
>>>>>>       .remove = mtk_rtc_remove,
>>>>>> +    .id_table = mt6397_rtc_id,
>>>>>>    };
>>>>>>
>>>>>>    module_platform_driver(mtk_rtc_driver);
>>>>>> @@ -419,4 +426,3 @@ module_platform_driver(mtk_rtc_driver);
>>>>>>    MODULE_LICENSE("GPL v2");
>>>>>>    MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
>>>>>>    MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
>>>>>> -MODULE_ALIAS("platform:mt6397-rtc");
>>>>>
>>>>> This patch looks good to me, but I am wondering, since we tend to use
>>>>> device tree method to match driver, do we still need support platform
>>>>> device ID ?
>>>>>
>>>>
>>>> I'm not familiar with neither this IP block nor the SoC so it is up to
>>>> you. I just noticed this issue when reviewing a regulator driver for a
>>>> similar PMIC posted by someone from mediatek.
>>>>
>>>> I thought platform device was needed since the driver has a MODULE_ALIAS()
>>>> but please let me know what you prefer and I can re-spin the patch and
>>>> just remove the MODULE_ALIAS() if that makes more sense for this platform.
>>>>
>>>>
>>>
>>> I agree. We can alway add a MODULE_DEVICE_TABLE() if we get multiple
>>> users of this driver on architectures that don't use devicetree yet.
>>>
>>
>> Sure. Thanks the patch to add expandability to this driver.
>>
>> Acked-by: Eddie Huang <eddie.huang@mediatek.com>
>
> I think we misunderstood one another. I think we can drop both the MODULE_DEVICE_TABLE and the MODULE_ALIAS: there is no need for another
> driver ID when it is always probed using DT.
>

That's how I understood but then Eddie said the opposite so I got confused
and was waiting for your clarification. I'll re-spin and remove the alias.

> 	Arnd
>

Best regards,
diff mbox

Patch

diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c
index 06a5c52b292f..46533f11f7fc 100644
--- a/drivers/rtc/rtc-mt6397.c
+++ b/drivers/rtc/rtc-mt6397.c
@@ -404,6 +404,12 @@  static const struct of_device_id mt6397_rtc_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, mt6397_rtc_of_match);
 
+static const struct platform_device_id mt6397_rtc_id[] = {
+	{"mt6397-rtc", 0},
+	{ /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(platform, mt6397_rtc_id);
+
 static struct platform_driver mtk_rtc_driver = {
 	.driver = {
 		.name = "mt6397-rtc",
@@ -412,6 +418,7 @@  static struct platform_driver mtk_rtc_driver = {
 	},
 	.probe	= mtk_rtc_probe,
 	.remove = mtk_rtc_remove,
+	.id_table = mt6397_rtc_id,
 };
 
 module_platform_driver(mtk_rtc_driver);
@@ -419,4 +426,3 @@  module_platform_driver(mtk_rtc_driver);
 MODULE_LICENSE("GPL v2");
 MODULE_AUTHOR("Tianping Fang <tianping.fang@mediatek.com>");
 MODULE_DESCRIPTION("RTC Driver for MediaTek MT6397 PMIC");
-MODULE_ALIAS("platform:mt6397-rtc");