• Matt Fleming's avatar
    mfd: watchdog: iTCO_wdt: Expose watchdog properties using platform data · 420b54de
    Matt Fleming authored
    Intel Sunrisepoint (Skylake PCH) has the iTCO watchdog accessible across
    the SMBus, unlike previous generations of PCH/ICH where it was on the
    LPC bus. Because it's on the SMBus, it doesn't make sense to pass around
    a 'struct lpc_ich_info', and leaking the type of bus into the iTCO
    watchdog driver is kind of backwards anyway.
    
    This change introduces a new 'struct itco_wdt_platform_data' for use
    inside the iTCO watchdog driver and by the upcoming Intel Sunrisepoint
    code, which neatly avoids having to include lpc_ich headers in the i801
    i2c driver.
    
    This change is overdue because lpc_ich_info has already found its way
    into other TCO watchdog users, notably the intel_pmc_ipc driver where
    the watchdog actually isn't on the LPC bus as far as I can see.
    
    A simple translation layer is provided for converting from the existing
    'struct lpc_ich_info' inside the lpc_ich mfd driver.
    Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
    Acked-by: Darren Hart <dvhart@linux.intel.com> [drivers/x86 refactoring]
    Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    420b54de
lpc_ich.c 30.3 KB