From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Daniel Scally <djrscally@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org,
platform-driver-x86@vger.kernel.org, devel@acpica.org,
rjw@rjwysocki.net, lenb@kernel.org, andy@kernel.org,
mika.westerberg@linux.intel.com, linus.walleij@linaro.org,
bgolaszewski@baylibre.com, wsa@kernel.org, lee.jones@linaro.org,
hdegoede@redhat.com, mgross@linux.intel.com,
robert.moore@intel.com, erik.kaneda@intel.com,
sakari.ailus@linux.intel.com, kieran.bingham@ideasonboard.com
Subject: Re: [PATCH v2 6/7] platform: x86: Add intel_skl_int3472 driver
Date: Tue, 19 Jan 2021 13:08:37 +0200 [thread overview]
Message-ID: <20210119110837.GT4077@smile.fi.intel.com> (raw)
In-Reply-To: <a735380b-57ac-1950-b29a-07fe6cb708d2@gmail.com>
On Tue, Jan 19, 2021 at 10:40:42AM +0000, Daniel Scally wrote:
> On 19/01/2021 09:24, Andy Shevchenko wrote:
> >>>>> +static struct i2c_driver int3472_tps68470 = {
> >>>>> + .driver = {
> >>>>> + .name = "int3472-tps68470",
> >>>>> + .acpi_match_table = int3472_device_id,
> >>>>> + },
> >>>>> + .probe_new = skl_int3472_tps68470_probe,
> >>>>> +};
> >>> I'm not sure we want to have like this. If I'm not mistaken the I²C driver can
> >>> be separated without ACPI IDs (just having I²C IDs) and you may instantiate it
> >>> via i2c_new_client_device() or i2c_acpi_new_device() whichever suits better...
> >> Sorry, I'm a bit confused by this. The i2c device is already
> >> present...we just want the driver to bind to them, so what role do those
> >> functions have there?
> > What I meant is something like
> >
> > *_i2c.c
> > real I²C driver for the TPS chip, but solely with I²C ID table, no ACPI
> > involved (and it sounds like it should be mfd/tps one, in which you
> > just cut out ACPI IDs and convert to pure I²C one, that what I had
> > suggested in the first place)
>
> Ahh; sorry - i misunderstood what you meant there. I understand now I
> think, but there is one complication; the ACPI subsystem already creates
> a client for that i2c adapter and address; i2c_new_client_device()
> includes a check to see whether that adapter / address combination has
> an i2c device already. So we would have to have the platform driver
> with ACPI ID first find the existing i2c_client and unregister it before
> registering the new one...the existing clients have a name matching the
> ACPI device instance name (e.g i2c-INT3472:00) which we can't use as an
> i2c_device_id of course.
See how INT33FE is being handled. Hint: drivers/acpi/scan.c:~1600
static const struct acpi_device_id i2c_multi_instantiate_ids[] = {
{"BSG1160", },
{"BSG2150", },
{"INT33FE", },
{"INT3515", },
{}
};
So, we quirklist it here and instantiate manually from platform driver (new
coming one).
...
> > You need to modify clk-gpio.c to export
> >
> > clk_hw_register_gpio_gate()
> > clk_hw_register_gpio_mux()
> >
> > (perhaps it will require to add *_unregister() counterparts) and call it from
> > your code.
> >
> > See, for example, how clk_hw_unregister_fixed_rate() is being used. Another
Here I meant of course clk_hw_register_fixed_rate().
> > case is to add a helper directly into clk-gpio and call it instead of
> > clk_hw_*() one, see how clk_register_fractional_divider() is implemented and
> > used.
>
> I'll take a look, thanks
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2021-01-19 11:28 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-18 0:34 [PATCH v2 0/7] Introduce intel_skl_int3472 driver Daniel Scally
2021-01-18 0:34 ` [PATCH v2 1/7] acpi: utils: move acpi_lpss_dep() to utils Daniel Scally
2021-01-18 7:24 ` Laurent Pinchart
2021-01-18 8:31 ` Daniel Scally
2021-01-18 12:29 ` Andy Shevchenko
2021-01-18 12:35 ` Daniel Scally
2021-01-18 12:28 ` Andy Shevchenko
2021-01-18 16:06 ` Rafael J. Wysocki
2021-01-18 16:42 ` Andy Shevchenko
2021-01-18 0:34 ` [PATCH v2 2/7] acpi: utils: Add function to fetch dependent acpi_devices Daniel Scally
2021-01-18 7:34 ` Laurent Pinchart
2021-01-18 8:37 ` Daniel Scally
2021-01-18 12:33 ` Andy Shevchenko
2021-01-18 13:37 ` Daniel Scally
2021-01-18 16:14 ` Rafael J. Wysocki
2021-01-18 20:51 ` Daniel Scally
2021-01-19 13:15 ` Rafael J. Wysocki
2021-01-19 13:28 ` Daniel Scally
2021-01-21 9:47 ` Daniel Scally
2021-01-21 11:58 ` Rafael J. Wysocki
2021-01-21 12:04 ` Daniel Scally
2021-01-21 14:39 ` Rafael J. Wysocki
2021-01-21 16:34 ` Daniel Scally
2021-01-21 18:08 ` Rafael J. Wysocki
2021-01-21 21:06 ` Daniel Scally
2021-02-02 9:58 ` Daniel Scally
2021-02-02 11:27 ` Andy Shevchenko
2021-02-02 14:02 ` Rafael J. Wysocki
2021-01-18 0:34 ` [PATCH v2 3/7] i2c: i2c-core-base: Use format macro in i2c_dev_set_name() Daniel Scally
2021-01-18 7:28 ` Laurent Pinchart
2021-01-18 12:41 ` Andy Shevchenko
2021-01-18 9:41 ` Sakari Ailus
2021-01-18 9:42 ` Sakari Ailus
2021-01-18 9:48 ` Wolfram Sang
2021-01-18 12:39 ` Andy Shevchenko
2021-01-18 0:34 ` [PATCH v2 4/7] i2c: i2c-core-acpi: Add i2c_acpi_dev_name() Daniel Scally
2021-01-18 9:18 ` Laurent Pinchart
2021-01-18 13:41 ` Andy Shevchenko
2021-01-19 13:19 ` Rafael J. Wysocki
2021-01-28 9:00 ` Wolfram Sang
2021-01-28 9:15 ` Daniel Scally
2021-01-28 9:17 ` Wolfram Sang
2021-01-28 9:22 ` Daniel Scally
2021-01-18 13:39 ` Andy Shevchenko
2021-01-18 18:43 ` Joe Perches
2021-01-18 18:56 ` Andy Shevchenko
2021-01-18 19:00 ` Joe Perches
2021-01-18 19:01 ` Andy Shevchenko
2021-01-18 0:34 ` [PATCH v2 5/7] gpio: gpiolib-acpi: Export acpi_get_gpiod() Daniel Scally
2021-01-18 7:37 ` Laurent Pinchart
2021-01-18 13:45 ` Andy Shevchenko
2021-01-18 13:46 ` Andy Shevchenko
2021-01-18 21:32 ` Daniel Scally
2021-01-18 0:34 ` [PATCH v2 6/7] platform: x86: Add intel_skl_int3472 driver Daniel Scally
2021-01-18 9:15 ` Laurent Pinchart
2021-01-18 14:46 ` Andy Shevchenko
2021-01-18 21:19 ` Daniel Scally
2021-01-19 0:11 ` Daniel Scally
2021-01-19 6:21 ` Laurent Pinchart
2021-01-19 9:35 ` Andy Shevchenko
2021-01-19 16:49 ` Laurent Pinchart
2021-01-19 9:33 ` Andy Shevchenko
2021-01-19 9:34 ` Daniel Scally
2021-01-19 16:36 ` Laurent Pinchart
2021-01-19 17:43 ` Andy Shevchenko
2021-01-20 4:18 ` Laurent Pinchart
2021-01-20 11:44 ` Andy Shevchenko
2021-01-21 21:08 ` Daniel Scally
2021-01-19 9:24 ` Andy Shevchenko
2021-01-19 10:40 ` Daniel Scally
2021-01-19 11:08 ` Andy Shevchenko [this message]
2021-01-19 16:48 ` Laurent Pinchart
2021-01-19 17:51 ` Andy Shevchenko
2021-01-20 4:21 ` Laurent Pinchart
2021-01-20 12:57 ` Andy Shevchenko
2021-01-21 0:18 ` Daniel Scally
2021-02-07 11:00 ` Daniel Scally
2021-02-07 11:56 ` Andy Shevchenko
2021-01-18 20:46 ` Daniel Scally
2021-01-19 6:19 ` Laurent Pinchart
2021-01-19 8:43 ` Daniel Scally
2021-01-19 16:33 ` Laurent Pinchart
2021-01-18 11:12 ` Barnabás Pőcze
2021-01-18 13:51 ` andriy.shevchenko
2021-01-18 14:51 ` Barnabás Pőcze
2021-01-18 15:23 ` andriy.shevchenko
2021-01-18 15:32 ` Hans de Goede
2021-01-18 15:48 ` andriy.shevchenko
2021-01-18 16:00 ` Daniel Scally
2021-01-18 16:03 ` Hans de Goede
2021-01-18 17:05 ` Laurent Pinchart
2021-01-19 10:56 ` Kieran Bingham
2021-01-19 11:11 ` Andy Shevchenko
2021-01-19 11:12 ` Daniel Scally
2021-01-18 0:34 ` [PATCH v2 7/7] mfd: Remove tps68470 MFD driver Daniel Scally
2021-01-18 7:42 ` Laurent Pinchart
2021-01-18 13:53 ` Andy Shevchenko
2021-01-18 20:07 ` Joe Perches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210119110837.GT4077@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=andy@kernel.org \
--cc=bgolaszewski@baylibre.com \
--cc=devel@acpica.org \
--cc=djrscally@gmail.com \
--cc=erik.kaneda@intel.com \
--cc=hdegoede@redhat.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lee.jones@linaro.org \
--cc=lenb@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mgross@linux.intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=robert.moore@intel.com \
--cc=sakari.ailus@linux.intel.com \
--cc=wsa@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).