ACPI / scan: Add special handler for Intel Lynxpoint LPSS devices
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 6 Mar 2013 22:46:20 +0000 (23:46 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 21 Mar 2013 21:44:38 +0000 (22:44 +0100)
commitf58b082aed43400c03e53beacc50a9f9eb23ac91
tree044ce964e1a619b33181f1d4c80504e7d6219844
parentf6161aa153581da4a3867a2d1a7caf4be19b6ec9
ACPI / scan: Add special handler for Intel Lynxpoint LPSS devices

Devices on the Intel Lynxpoint Low Power Subsystem (LPSS) have some
common features that aren't shared with any other platform devices,
including the clock and LTR (Latency Tolerance Reporting) registers.
It is better to handle those features in common code than to bother
device drivers with doing that (I/O functionality-wise the LPSS
devices are generally compatible with other devices that don't
have those special registers and may be handled by the same drivers).

The clock registers of the LPSS devices are now taken care of by
the special clk-x86-lpss driver, but the MMIO mappings used for
accessing those registers can also be used for accessing the LTR
registers on those devices (LTR support for the Lynxpoint LPSS is
going to be added by a subsequent patch).  Thus it is convenient
to add a special ACPI scan handler for the Lynxpoint LPSS devices
that will create the MMIO mappings for accessing the clock (and
LTR in the future) registers and will register the LPSS devices'
clocks, so the clk-x86-lpss driver will only need to take care of
the main Lynxpoint LPSS clock.

Introduce a special ACPI scan handler for Intel Lynxpoint LPSS
devices as described above.  This also reduces overhead related to
browsing the ACPI namespace in search of the LPSS devices before the
registration of their clocks, removes some LPSS-specific (and
somewhat ugly) code from acpi_platform.c and shrinks the overall code
size slightly.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
drivers/acpi/Makefile
drivers/acpi/acpi_lpss.c [new file with mode: 0644]
drivers/acpi/acpi_platform.c
drivers/acpi/internal.h
drivers/acpi/scan.c
drivers/clk/x86/Makefile
drivers/clk/x86/clk-lpss.c [deleted file]
drivers/clk/x86/clk-lpss.h [deleted file]
drivers/clk/x86/clk-lpt.c
include/linux/platform_data/clk-lpss.h [new file with mode: 0644]