LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: John Garry <john.garry@huawei.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
	andriy.shevchenko@linux.intel.com, rjw@rjwysocki.net,
	linux-acpi@vger.kernel.org, lenb@kernel.org,
	lorenzo.pieralisi@arm.com, linux-kernel@vger.kernel.org,
	arnd@arndb.de, graeme.gregory@linaro.org, helgaas@kernel.org,
	linuxarm@huawei.com, z.liuxinliang@hisilicon.com,
	"Liguozhu (Kenneth)" <liguozhu@hisilicon.com>
Subject: Re: [RFC PATCH 1/2] ACPI / PNP: Don't add "enumeration_by_parent" devices
Date: Mon, 30 Apr 2018 06:36:11 +0100	[thread overview]
Message-ID: <20180430053611.GA11990@dell> (raw)
In-Reply-To: <44e047a2-93e1-9eff-45b8-d538a7ae9092@huawei.com>

On Fri, 27 Apr 2018, John Garry wrote:
> On 26/04/2018 15:23, John Garry wrote:
> > On 26/04/2018 15:08, Mika Westerberg wrote:
> > > On Thu, Apr 26, 2018 at 02:49:49PM +0100, John Garry wrote:
> > > > diff --git a/drivers/bus/hisi_lpc.c b/drivers/bus/hisi_lpc.c
> > > > index 2d4611e..b04425b 100644
> > > > --- a/drivers/bus/hisi_lpc.c
> > > > +++ b/drivers/bus/hisi_lpc.c
> > > > @@ -18,6 +18,8 @@
> > > >  #include <linux/of_platform.h>
> > > >  #include <linux/pci.h>
> > > >  #include <linux/slab.h>
> > > > +#include <linux/serial_8250.h>
> > > > +#include "../tty/serial/8250/8250.h"
> > > > 
> > > >  #define DRV_NAME "hisi-lpc"
> > > > 
> > > > @@ -345,6 +347,7 @@ static void hisi_lpc_comm_outs(void *hostdata,
> > > > unsigned
> > > > long pio,
> > > >  #define MFD_CHILD_NAME_LEN (ACPI_ID_LEN +
> > > > sizeof(MFD_CHILD_NAME_PREFIX) -
> > > > 1)
> > > > 
> > > >  struct hisi_lpc_mfd_cell {
> > > > +    struct plat_serial8250_port serial8250_port;
> > > >      struct mfd_cell_acpi_match acpi_match;
> > > >      char name[MFD_CHILD_NAME_LEN];
> > > >      char pnpid[ACPI_ID_LEN];
> > > > @@ -513,10 +516,31 @@ static int hisi_lpc_acpi_probe(struct device
> > > > *hostdev)
> > > >          dev_warn(&child->dev, "set resource fail (%d)\n", ret);
> > > >              return ret;
> > > >          }
> > > > +    if (!strcmp(acpi_device_hid(child), "HISI1031")) {
> > > 
> > 
> > Hi Mika,
> > 
> > > Hmm, there is a way in struct mfd_cell to match child devices using _HID
> > > so is there something preventing you from using that?
> > 
> > Not that I know about. Can you describe this method? I guess I also
> > don't need to set the mfd_cell pnpid either for this special case device.
> > 
> 
> So we using the mfd_cell to match child devices using _HID. At a glance, I
> don't actually see other drivers to use mfd_cell_acpi_match.pnpid .
> 
> Anyway we don't use static tables as we need to update the resources of the
> cell dynamically. However I do look at a driver like intel_quark_i2c_gpio.c,
> and this dynamically modifies the value of global mfd_cell array here:
> https://elixir.bootlin.com/linux/latest/source/drivers/mfd/intel_quark_i2c_gpio.c#L266
> 
> I know the cell array is only used at probe time, but this did not look to
> be good standard practice to me.

Lots of drivers do this to supply dynamic data.  If there is no other
sane way of providing such data, it's fine to do.  Although each
situation should be dealt with on a case-by-case basis.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2018-04-30  5:36 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-20 10:07 [RFC PATCH 0/2] HISI LPC: Add PNP device support John Garry
2018-04-20 10:07 ` [RFC PATCH 1/2] ACPI / PNP: Don't add "enumeration_by_parent" devices John Garry
2018-04-20 13:07   ` Mika Westerberg
2018-04-20 13:24     ` John Garry
2018-04-20 13:52       ` Mika Westerberg
2018-04-20 14:09         ` John Garry
2018-04-26 13:49           ` John Garry
2018-04-26 14:08             ` Mika Westerberg
2018-04-26 14:23               ` John Garry
2018-04-26 14:40                 ` Mika Westerberg
2018-04-27  9:17                 ` John Garry
2018-04-30  5:36                   ` Lee Jones [this message]
2018-04-30  9:00                     ` John Garry
2018-04-30  9:26                       ` Lee Jones
2018-04-30  9:35                         ` John Garry
2018-04-30 10:46                           ` Lee Jones
2018-04-30 10:57                             ` John Garry
2018-04-20 10:07 ` [RFC PATCH 2/2] HISI LPC: Add PNP device support John Garry
2018-04-20 12:50   ` Andy Shevchenko
2018-04-20 13:09     ` John Garry
2018-04-20 13:28       ` Andy Shevchenko
2018-04-20 13:32         ` John Garry
2018-04-20 13:12   ` Mika Westerberg
2018-04-20 13:36     ` John Garry

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=20180430053611.GA11990@dell \
    --to=lee.jones@linaro.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=graeme.gregory@linaro.org \
    --cc=helgaas@kernel.org \
    --cc=john.garry@huawei.com \
    --cc=lenb@kernel.org \
    --cc=liguozhu@hisilicon.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=rjw@rjwysocki.net \
    --cc=z.liuxinliang@hisilicon.com \
    --subject='Re: [RFC PATCH 1/2] ACPI / PNP: Don'\''t add "enumeration_by_parent" devices' \
    /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

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).