Message ID | 1364374682-8547-6-git-send-email-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Wednesday, March 27, 2013 10:58:01 AM Andy Shevchenko wrote: > When device uses the fixed clock and has no private space of LTR, we have to > create main LPSS clock and register platform device. This is normally a case > for LPSS DMA controller. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/acpi/acpi_lpss.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c > index b1c9542..4015929 100644 > --- a/drivers/acpi/acpi_lpss.c > +++ b/drivers/acpi/acpi_lpss.c > @@ -95,6 +95,10 @@ static int register_device_clock(struct acpi_device *adev, > if (!lpss_clk_dev) > lpt_register_clock_device(); > > + if (!dev_desc->prv_offset && dev_desc->clk_required) If clk_required is not set, register_device_clock() won't be called at all for the device. Moreover, prv_offset may be zero in principle. You'd need to add support for shared clocks for that to really work. I have code for that, please ping me off-list. > + /* There is no error when device uses fixed clock */ > + return 0; > + > if (!dev_desc->clk_parent || !pdata->mmio_base > || pdata->mmio_size < dev_desc->prv_offset + LPSS_CLK_SIZE) > return -ENODATA; Thanks, Rafael
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index b1c9542..4015929 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c @@ -95,6 +95,10 @@ static int register_device_clock(struct acpi_device *adev, if (!lpss_clk_dev) lpt_register_clock_device(); + if (!dev_desc->prv_offset && dev_desc->clk_required) + /* There is no error when device uses fixed clock */ + return 0; + if (!dev_desc->clk_parent || !pdata->mmio_base || pdata->mmio_size < dev_desc->prv_offset + LPSS_CLK_SIZE) return -ENODATA;
When device uses the fixed clock and has no private space of LTR, we have to create main LPSS clock and register platform device. This is normally a case for LPSS DMA controller. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/acpi/acpi_lpss.c | 4 ++++ 1 file changed, 4 insertions(+)