• Rafael J. Wysocki's avatar
    ACPI / scan: Add special handler for Intel Lynxpoint LPSS devices · f58b082a
    Rafael J. Wysocki authored
    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: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: default avatarMike Turquette <mturquette@linaro.org>
scan.c 47 KB