* [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
@ 2017-08-24 13:41 Andy Shevchenko
2017-08-24 13:49 ` Mark Brown
0 siblings, 1 reply; 13+ messages in thread
From: Andy Shevchenko @ 2017-08-24 13:41 UTC (permalink / raw)
To: Mark Brown, alsa-devel, Liam Girdwood, Takashi Iwai, Oder Chiou
Cc: Andy Shevchenko
There is no platform code that uses i2c module table.
Remove it altogether and adjust ->probe() to be ->probe_new().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
sound/soc/codecs/rt5677.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c
index c735590c5a25..6448b7a00203 100644
--- a/sound/soc/codecs/rt5677.c
+++ b/sound/soc/codecs/rt5677.c
@@ -5009,11 +5009,6 @@ static const struct regmap_config rt5677_regmap = {
.num_ranges = ARRAY_SIZE(rt5677_ranges),
};
-static const struct i2c_device_id rt5677_i2c_id[] = {
- { }
-};
-MODULE_DEVICE_TABLE(i2c, rt5677_i2c_id);
-
static const struct of_device_id rt5677_of_match[] = {
{ .compatible = "realtek,rt5677", RT5677 },
{ }
@@ -5131,8 +5126,7 @@ static void rt5677_free_irq(struct i2c_client *i2c)
regmap_del_irq_chip(i2c->irq, rt5677->irq_data);
}
-static int rt5677_i2c_probe(struct i2c_client *i2c,
- const struct i2c_device_id *id)
+static int rt5677_i2c_probe(struct i2c_client *i2c)
{
struct rt5677_priv *rt5677;
int ret;
@@ -5279,9 +5273,8 @@ static struct i2c_driver rt5677_i2c_driver = {
.of_match_table = rt5677_of_match,
.acpi_match_table = ACPI_PTR(rt5677_acpi_match),
},
- .probe = rt5677_i2c_probe,
+ .probe_new = rt5677_i2c_probe,
.remove = rt5677_i2c_remove,
- .id_table = rt5677_i2c_id,
};
module_i2c_driver(rt5677_i2c_driver);
--
2.14.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 13:41 [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new() Andy Shevchenko
@ 2017-08-24 13:49 ` Mark Brown
2017-08-24 14:33 ` Takashi Iwai
0 siblings, 1 reply; 13+ messages in thread
From: Mark Brown @ 2017-08-24 13:49 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Oder Chiou, alsa-devel, Liam Girdwood, Takashi Iwai
[-- Attachment #1.1: Type: text/plain, Size: 344 bytes --]
On Thu, Aug 24, 2017 at 04:41:10PM +0300, Andy Shevchenko wrote:
> There is no platform code that uses i2c module table.
> Remove it altogether and adjust ->probe() to be ->probe_new().
What is the value in doing this? Removing the ability to instantiate
via board files is just inconveniencing people doing that, it's not a
goal in itself.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 13:49 ` Mark Brown
@ 2017-08-24 14:33 ` Takashi Iwai
2017-08-24 15:49 ` Mark Brown
0 siblings, 1 reply; 13+ messages in thread
From: Takashi Iwai @ 2017-08-24 14:33 UTC (permalink / raw)
To: Mark Brown; +Cc: Oder Chiou, alsa-devel, Andy Shevchenko, Liam Girdwood
On Thu, 24 Aug 2017 15:49:24 +0200,
Mark Brown wrote:
>
> On Thu, Aug 24, 2017 at 04:41:10PM +0300, Andy Shevchenko wrote:
>
> > There is no platform code that uses i2c module table.
> > Remove it altogether and adjust ->probe() to be ->probe_new().
>
> What is the value in doing this? Removing the ability to instantiate
> via board files is just inconveniencing people doing that, it's not a
> goal in itself.
But the id table is already empty...?
Takashi
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 14:33 ` Takashi Iwai
@ 2017-08-24 15:49 ` Mark Brown
2017-08-24 16:11 ` Takashi Iwai
0 siblings, 1 reply; 13+ messages in thread
From: Mark Brown @ 2017-08-24 15:49 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Oder Chiou, alsa-devel, Andy Shevchenko, Liam Girdwood
[-- Attachment #1.1: Type: text/plain, Size: 549 bytes --]
On Thu, Aug 24, 2017 at 04:33:29PM +0200, Takashi Iwai wrote:
> Mark Brown wrote:
> > On Thu, Aug 24, 2017 at 04:41:10PM +0300, Andy Shevchenko wrote:
> >
> > > There is no platform code that uses i2c module table.
> > > Remove it altogether and adjust ->probe() to be ->probe_new().
> > What is the value in doing this? Removing the ability to instantiate
> > via board files is just inconveniencing people doing that, it's not a
> > goal in itself.
> But the id table is already empty...?
Right, that seems like a bug though.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 15:49 ` Mark Brown
@ 2017-08-24 16:11 ` Takashi Iwai
2017-08-24 17:12 ` Andy Shevchenko
2017-08-25 13:11 ` Mark Brown
0 siblings, 2 replies; 13+ messages in thread
From: Takashi Iwai @ 2017-08-24 16:11 UTC (permalink / raw)
To: Mark Brown; +Cc: Oder Chiou, alsa-devel, Andy Shevchenko, Liam Girdwood
On Thu, 24 Aug 2017 17:49:47 +0200,
Mark Brown wrote:
>
> On Thu, Aug 24, 2017 at 04:33:29PM +0200, Takashi Iwai wrote:
> > Mark Brown wrote:
>
> > > On Thu, Aug 24, 2017 at 04:41:10PM +0300, Andy Shevchenko wrote:
> > >
> > > > There is no platform code that uses i2c module table.
> > > > Remove it altogether and adjust ->probe() to be ->probe_new().
>
> > > What is the value in doing this? Removing the ability to instantiate
> > > via board files is just inconveniencing people doing that, it's not a
> > > goal in itself.
>
> > But the id table is already empty...?
>
> Right, that seems like a bug though.
Well, that's what the commit ddc9e69b9dc2 does after all: it cleans up
the legacy usage, and moves all either OF or ACPI matching.
If we want to take back old i2c ids, better to put the explicit
i2c_match_id() check in rt5677_i2c_probe() instead of sticking with
the old i2c probe callback.
Takashi
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 16:11 ` Takashi Iwai
@ 2017-08-24 17:12 ` Andy Shevchenko
2017-08-25 13:56 ` Mark Brown
2017-08-25 13:11 ` Mark Brown
1 sibling, 1 reply; 13+ messages in thread
From: Andy Shevchenko @ 2017-08-24 17:12 UTC (permalink / raw)
To: Takashi Iwai, Mark Brown; +Cc: Oder Chiou, alsa-devel, Liam Girdwood
On Thu, 2017-08-24 at 18:11 +0200, Takashi Iwai wrote:
> On Thu, 24 Aug 2017 17:49:47 +0200,
> Mark Brown wrote:
> >
> > On Thu, Aug 24, 2017 at 04:33:29PM +0200, Takashi Iwai wrote:
> > > Mark Brown wrote:
> > > > On Thu, Aug 24, 2017 at 04:41:10PM +0300, Andy Shevchenko wrote:
> > > >
> > > > > There is no platform code that uses i2c module table.
> > > > > Remove it altogether and adjust ->probe() to be ->probe_new().
> > > > What is the value in doing this? Removing the ability to
> > > > instantiate
> > > > via board files is just inconveniencing people doing that, it's
> > > > not a
> > > > goal in itself.
> > > But the id table is already empty...?
> >
> > Right, that seems like a bug though.
>
> Well, that's what the commit ddc9e69b9dc2 does after all: it cleans up
> the legacy usage, and moves all either OF or ACPI matching.
>
> If we want to take back old i2c ids, better to put the explicit
> i2c_match_id() check in rt5677_i2c_probe() instead of sticking with
> the old i2c probe callback.
Well, there was never user for rt5676, thus, platform code can use
driver name to register / create platform device to be matched.
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 16:11 ` Takashi Iwai
2017-08-24 17:12 ` Andy Shevchenko
@ 2017-08-25 13:11 ` Mark Brown
2017-08-25 13:33 ` Andy Shevchenko
1 sibling, 1 reply; 13+ messages in thread
From: Mark Brown @ 2017-08-25 13:11 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Oder Chiou, alsa-devel, Andy Shevchenko, Liam Girdwood
[-- Attachment #1.1: Type: text/plain, Size: 554 bytes --]
On Thu, Aug 24, 2017 at 06:11:12PM +0200, Takashi Iwai wrote:
> Mark Brown wrote:
> > > But the id table is already empty...?
> > Right, that seems like a bug though.
> Well, that's what the commit ddc9e69b9dc2 does after all: it cleans up
> the legacy usage, and moves all either OF or ACPI matching.
Which is broken since not all the world is ACPI or DT.
> If we want to take back old i2c ids, better to put the explicit
> i2c_match_id() check in rt5677_i2c_probe() instead of sticking with
> the old i2c probe callback.
That's what I said, yes.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-25 13:11 ` Mark Brown
@ 2017-08-25 13:33 ` Andy Shevchenko
2017-08-25 14:21 ` Mark Brown
0 siblings, 1 reply; 13+ messages in thread
From: Andy Shevchenko @ 2017-08-25 13:33 UTC (permalink / raw)
To: Mark Brown, Takashi Iwai; +Cc: Oder Chiou, alsa-devel, Liam Girdwood
On Fri, 2017-08-25 at 14:11 +0100, Mark Brown wrote:
> On Thu, Aug 24, 2017 at 06:11:12PM +0200, Takashi Iwai wrote:
> > Mark Brown wrote:
> > > > But the id table is already empty...?
> > > Right, that seems like a bug though.
> > Well, that's what the commit ddc9e69b9dc2 does after all: it cleans
> > up
> > the legacy usage, and moves all either OF or ACPI matching.
>
> Which is broken since not all the world is ACPI or DT.
While I agree on the second part, I don't think it's broken per se,
there never was a single user of that, and looking how ASoC board files
are organized it is quite unlikely there will be one...
> > If we want to take back old i2c ids, better to put the explicit
> > i2c_match_id() check in rt5677_i2c_probe() instead of sticking with
> > the old i2c probe callback.
>
> That's what I said, yes.
...though we can (re)introduce this dead code back for a potential user
in the future.
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-24 17:12 ` Andy Shevchenko
@ 2017-08-25 13:56 ` Mark Brown
0 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2017-08-25 13:56 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Takashi Iwai, Oder Chiou, alsa-devel, Liam Girdwood
[-- Attachment #1.1: Type: text/plain, Size: 536 bytes --]
On Thu, Aug 24, 2017 at 08:12:12PM +0300, Andy Shevchenko wrote:
> On Thu, 2017-08-24 at 18:11 +0200, Takashi Iwai wrote:
> > If we want to take back old i2c ids, better to put the explicit
> > i2c_match_id() check in rt5677_i2c_probe() instead of sticking with
> > the old i2c probe callback.
> Well, there was never user for rt5676, thus, platform code can use
> driver name to register / create platform device to be matched.
The driver handle both rt5676 and rt5677 using different IDs so it can't
just rely on the driver table.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-25 13:33 ` Andy Shevchenko
@ 2017-08-25 14:21 ` Mark Brown
2017-08-25 15:09 ` Andy Shevchenko
0 siblings, 1 reply; 13+ messages in thread
From: Mark Brown @ 2017-08-25 14:21 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Takashi Iwai, Oder Chiou, alsa-devel, Liam Girdwood
[-- Attachment #1.1: Type: text/plain, Size: 959 bytes --]
On Fri, Aug 25, 2017 at 04:33:08PM +0300, Andy Shevchenko wrote:
> On Fri, 2017-08-25 at 14:11 +0100, Mark Brown wrote:
> > On Thu, Aug 24, 2017 at 06:11:12PM +0200, Takashi Iwai wrote:
> > > Well, that's what the commit ddc9e69b9dc2 does after all: it cleans
> > > up
> > > the legacy usage, and moves all either OF or ACPI matching.
> > Which is broken since not all the world is ACPI or DT.
> While I agree on the second part, I don't think it's broken per se,
> there never was a single user of that, and looking how ASoC board files
> are organized it is quite unlikely there will be one...
I have no idea why you say the ASoC machine drivers would prevent
someone adding a platform based user, obviously ASoC predates the use of
both ACPI and DT quite considerably.
> > That's what I said, yes.
> ...though we can (re)introduce this dead code back for a potential user
> in the future.
The IDs are back as a result of the merge resolution I did.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-25 14:21 ` Mark Brown
@ 2017-08-25 15:09 ` Andy Shevchenko
2017-08-25 18:59 ` Mark Brown
0 siblings, 1 reply; 13+ messages in thread
From: Andy Shevchenko @ 2017-08-25 15:09 UTC (permalink / raw)
To: Mark Brown; +Cc: Takashi Iwai, Oder Chiou, alsa-devel, Liam Girdwood
On Fri, 2017-08-25 at 15:21 +0100, Mark Brown wrote:
> On Fri, Aug 25, 2017 at 04:33:08PM +0300, Andy Shevchenko wrote:
> > On Fri, 2017-08-25 at 14:11 +0100, Mark Brown wrote:
> > > On Thu, Aug 24, 2017 at 06:11:12PM +0200, Takashi Iwai wrote:
> > > > Well, that's what the commit ddc9e69b9dc2 does after all: it
> > > > cleans
> > > > up
> > > > the legacy usage, and moves all either OF or ACPI matching.
> > > Which is broken since not all the world is ACPI or DT.
> > While I agree on the second part, I don't think it's broken per se,
> > there never was a single user of that, and looking how ASoC board
> > files
> > are organized it is quite unlikely there will be one...
>
> I have no idea why you say the ASoC machine drivers would prevent
> someone adding a platform based user,
For example, looking into
sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c
I see a direct use of codec driver without any platform driver
involvement.
Is it exception from the rule, or a common use?
> obviously ASoC predates the use of
> both ACPI and DT quite considerably.
Yep, the current users of driver in question either DT or ACPI, would it
be pure platform in the future?
>
> > > That's what I said, yes.
> > ...though we can (re)introduce this dead code back for a potential
> > user
> > in the future.
>
> The IDs are back as a result of the merge resolution I did.
I'm fine as long as it doesn't include broken 'ACPI instance as I2C ID'.
Thanks!
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
2017-08-25 15:09 ` Andy Shevchenko
@ 2017-08-25 18:59 ` Mark Brown
0 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2017-08-25 18:59 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Takashi Iwai, Oder Chiou, alsa-devel, Liam Girdwood
[-- Attachment #1.1: Type: text/plain, Size: 904 bytes --]
On Fri, Aug 25, 2017 at 06:09:52PM +0300, Andy Shevchenko wrote:
> On Fri, 2017-08-25 at 15:21 +0100, Mark Brown wrote:
> > I have no idea why you say the ASoC machine drivers would prevent
> > someone adding a platform based user,
> For example, looking into
> sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c
> I see a direct use of codec driver without any platform driver
> involvement.
> Is it exception from the rule, or a common use?
That's an entirely standard driver using normally registered devices?
> > obviously ASoC predates the use of
> > both ACPI and DT quite considerably.
> Yep, the current users of driver in question either DT or ACPI, would it
> be pure platform in the future?
It could be potentially (well, I2C but registered using a board file).
Most architectures still use board files and neither ACPI nor DT has a
sensible story for instantiating plugin modules yet.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new()
@ 2018-05-18 15:41 Andy Shevchenko
0 siblings, 0 replies; 13+ messages in thread
From: Andy Shevchenko @ 2018-05-18 15:41 UTC (permalink / raw)
To: Peter Rosin, Mark Brown, Pierre-Louis Bossart, alsa-devel; +Cc: Andy Shevchenko
There is no platform code that uses i2c module table.
Remove it altogether and adjust ->probe() to be ->probe_new().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
sound/soc/codecs/rt5677.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c
index bc1a23dd7c2d..8a0181a2db08 100644
--- a/sound/soc/codecs/rt5677.c
+++ b/sound/soc/codecs/rt5677.c
@@ -5006,13 +5006,6 @@ static const struct regmap_config rt5677_regmap = {
.num_ranges = ARRAY_SIZE(rt5677_ranges),
};
-static const struct i2c_device_id rt5677_i2c_id[] = {
- { "rt5677", RT5677 },
- { "rt5676", RT5676 },
- { }
-};
-MODULE_DEVICE_TABLE(i2c, rt5677_i2c_id);
-
static const struct of_device_id rt5677_of_match[] = {
{ .compatible = "realtek,rt5677", RT5677 },
{ }
@@ -5130,8 +5123,7 @@ static void rt5677_free_irq(struct i2c_client *i2c)
regmap_del_irq_chip(i2c->irq, rt5677->irq_data);
}
-static int rt5677_i2c_probe(struct i2c_client *i2c,
- const struct i2c_device_id *id)
+static int rt5677_i2c_probe(struct i2c_client *i2c)
{
struct rt5677_priv *rt5677;
int ret;
@@ -5278,9 +5270,8 @@ static struct i2c_driver rt5677_i2c_driver = {
.of_match_table = rt5677_of_match,
.acpi_match_table = ACPI_PTR(rt5677_acpi_match),
},
- .probe = rt5677_i2c_probe,
+ .probe_new = rt5677_i2c_probe,
.remove = rt5677_i2c_remove,
- .id_table = rt5677_i2c_id,
};
module_i2c_driver(rt5677_i2c_driver);
--
2.17.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
end of thread, other threads:[~2018-05-18 15:41 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-24 13:41 [PATCH v1] ASoC: rt5677: Convert I2C driver to ->probe_new() Andy Shevchenko
2017-08-24 13:49 ` Mark Brown
2017-08-24 14:33 ` Takashi Iwai
2017-08-24 15:49 ` Mark Brown
2017-08-24 16:11 ` Takashi Iwai
2017-08-24 17:12 ` Andy Shevchenko
2017-08-25 13:56 ` Mark Brown
2017-08-25 13:11 ` Mark Brown
2017-08-25 13:33 ` Andy Shevchenko
2017-08-25 14:21 ` Mark Brown
2017-08-25 15:09 ` Andy Shevchenko
2017-08-25 18:59 ` Mark Brown
2018-05-18 15:41 Andy Shevchenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.