lkml.org 
[lkml]   [2011]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/3] lpc_sch: expand for Tunnel Creek
    Intel Poulsbo SCH and Tunnel Creek provide almost the
    same LPC interface. Use the same driver for both devices while
    storing PCI ID to distinguish between platforms to apply plarform
    related quirks.

    Signed-off-by: Denis Turischev <denis@compulab.co.il>
    ---
    drivers/mfd/lpc_sch.c | 7 ++++++-
    1 files changed, 6 insertions(+), 1 deletions(-)

    diff --git a/drivers/mfd/lpc_sch.c b/drivers/mfd/lpc_sch.c
    index 51b2f60..ea3f52c 100644
    --- a/drivers/mfd/lpc_sch.c
    +++ b/drivers/mfd/lpc_sch.c
    @@ -61,6 +61,7 @@ static struct mfd_cell lpc_sch_cells[] = {

    static struct pci_device_id lpc_sch_ids[] = {
    { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SCH_LPC) },
    + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ITC_LPC) },
    { 0, }
    };
    MODULE_DEVICE_TABLE(pci, lpc_sch_ids);
    @@ -70,6 +71,7 @@ static int __devinit lpc_sch_probe(struct pci_dev *dev,
    {
    unsigned int base_addr_cfg;
    unsigned short base_addr;
    + int i;

    pci_read_config_dword(dev, SMBASE, &base_addr_cfg);
    if (!(base_addr_cfg & (1 << 31))) {
    @@ -99,7 +101,10 @@ static int __devinit lpc_sch_probe(struct pci_dev *dev,
    gpio_sch_resource.start = base_addr;
    gpio_sch_resource.end = base_addr + GPIO_IO_SIZE - 1;

    - return mfd_add_devices(&dev->dev, -1,
    + for (i=0; i < ARRAY_SIZE(lpc_sch_cells); i++)
    + lpc_sch_cells[i].id = id->device;
    +
    + return mfd_add_devices(&dev->dev, 0,
    lpc_sch_cells, ARRAY_SIZE(lpc_sch_cells), NULL, 0);
    }

    --
    1.7.0.4

    \
     
     \ /
      Last update: 2011-03-13 16:35    [W:4.081 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site