lkml.org 
[lkml]   [2008]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 4/5] ide: fix hwif-s initialization
    * Add ide_hwifs[] entry initialization to ide_find_port_slot()
    and remove ide_init_port_data() calls from host drivers.

    * Unexport ide_init_port_data().

    * Remove no longer needed init_ide_data().

    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    ---
    drivers/ide/arm/bast-ide.c | 1 -
    drivers/ide/arm/palm_bk3710.c | 1 -
    drivers/ide/cris/ide-cris.c | 2 +-
    drivers/ide/h8300/ide-h8300.c | 1 -
    drivers/ide/ide-pnp.c | 1 -
    drivers/ide/ide-probe.c | 10 +++++++---
    drivers/ide/ide.c | 15 ---------------
    drivers/ide/legacy/buddha.c | 1 -
    drivers/ide/legacy/falconide.c | 1 -
    drivers/ide/legacy/gayle.c | 1 -
    drivers/ide/legacy/ide-cs.c | 1 -
    drivers/ide/legacy/macide.c | 1 -
    drivers/ide/legacy/q40ide.c | 1 -
    drivers/ide/pci/delkin_cb.c | 1 -
    14 files changed, 8 insertions(+), 30 deletions(-)

    Index: b/drivers/ide/arm/bast-ide.c
    ===================================================================
    --- a/drivers/ide/arm/bast-ide.c
    +++ b/drivers/ide/arm/bast-ide.c
    @@ -49,7 +49,6 @@ static int __init bastide_register(unsig

    i = hwif->index;

    - ide_init_port_data(hwif, i);
    ide_init_port_hw(hwif, &hw);
    hwif->port_ops = NULL;

    Index: b/drivers/ide/arm/palm_bk3710.c
    ===================================================================
    --- a/drivers/ide/arm/palm_bk3710.c
    +++ b/drivers/ide/arm/palm_bk3710.c
    @@ -398,7 +398,6 @@ static int __devinit palm_bk3710_probe(s

    i = hwif->index;

    - ide_init_port_data(hwif, i);
    ide_init_port_hw(hwif, &hw);

    hwif->mmio = 1;
    Index: b/drivers/ide/cris/ide-cris.c
    ===================================================================
    --- a/drivers/ide/cris/ide-cris.c
    +++ b/drivers/ide/cris/ide-cris.c
    @@ -811,7 +811,7 @@ static int __init init_e100_ide(void)
    hwif = ide_find_port();
    if (hwif == NULL)
    continue;
    - ide_init_port_data(hwif, hwif->index);
    +
    ide_init_port_hw(hwif, &hw);

    hwif->ata_input_data = &cris_ide_input_data;
    Index: b/drivers/ide/h8300/ide-h8300.c
    ===================================================================
    --- a/drivers/ide/h8300/ide-h8300.c
    +++ b/drivers/ide/h8300/ide-h8300.c
    @@ -105,7 +105,6 @@ static int __init h8300_ide_init(void)
    }

    index = hwif->index;
    - ide_init_port_data(hwif, index);
    ide_init_port_hw(hwif, &hw);
    hwif_setup(hwif);
    printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index);
    Index: b/drivers/ide/ide-pnp.c
    ===================================================================
    --- a/drivers/ide/ide-pnp.c
    +++ b/drivers/ide/ide-pnp.c
    @@ -61,7 +61,6 @@ static int idepnp_probe(struct pnp_dev *
    u8 index = hwif->index;
    u8 idx[4] = { index, 0xff, 0xff, 0xff };

    - ide_init_port_data(hwif, index);
    ide_init_port_hw(hwif, &hw);

    printk(KERN_INFO "ide%d: generic PnP IDE interface\n", index);
    Index: b/drivers/ide/ide-probe.c
    ===================================================================
    --- a/drivers/ide/ide-probe.c
    +++ b/drivers/ide/ide-probe.c
    @@ -1478,22 +1478,26 @@ ide_hwif_t *ide_find_port_slot(const str
    for (; i < MAX_HWIFS; i++) {
    hwif = &ide_hwifs[i];
    if (hwif->chipset == ide_unknown)
    - return hwif;
    + goto out_found;
    }
    } else {
    for (i = 2; i < MAX_HWIFS; i++) {
    hwif = &ide_hwifs[i];
    if (hwif->chipset == ide_unknown)
    - return hwif;
    + goto out_found;
    }
    for (i = 0; i < 2 && i < MAX_HWIFS; i++) {
    hwif = &ide_hwifs[i];
    if (hwif->chipset == ide_unknown)
    - return hwif;
    + goto out_found;
    }
    }

    return NULL;
    +
    +out_found:
    + ide_init_port_data(hwif, i);
    + return hwif;
    }
    EXPORT_SYMBOL_GPL(ide_find_port_slot);

    Index: b/drivers/ide/ide.c
    ===================================================================
    --- a/drivers/ide/ide.c
    +++ b/drivers/ide/ide.c
    @@ -121,7 +121,6 @@ void ide_init_port_data(ide_hwif_t *hwif

    ide_port_init_devices_data(hwif);
    }
    -EXPORT_SYMBOL_GPL(ide_init_port_data);

    static void ide_port_init_devices_data(ide_hwif_t *hwif)
    {
    @@ -151,18 +150,6 @@ static void ide_port_init_devices_data(i
    }
    }

    -static void __init init_ide_data (void)
    -{
    - unsigned int index;
    -
    - /* Initialise all interface structures */
    - for (index = 0; index < MAX_HWIFS; ++index) {
    - ide_hwif_t *hwif = &ide_hwifs[index];
    -
    - ide_init_port_data(hwif, index);
    - }
    -}
    -
    void ide_remove_port_from_hwgroup(ide_hwif_t *hwif)
    {
    ide_hwgroup_t *hwgroup = hwif->hwgroup;
    @@ -1024,8 +1011,6 @@ static int __init ide_init(void)
    }
    ide_port_class->dev_release = ide_port_class_release;

    - init_ide_data();
    -
    proc_ide_create();

    return 0;
    Index: b/drivers/ide/legacy/buddha.c
    ===================================================================
    --- a/drivers/ide/legacy/buddha.c
    +++ b/drivers/ide/legacy/buddha.c
    @@ -225,7 +225,6 @@ fail_base2:
    if (hwif) {
    u8 index = hwif->index;

    - ide_init_port_data(hwif, index);
    ide_init_port_hw(hwif, &hw);

    idx[i] = index;
    Index: b/drivers/ide/legacy/falconide.c
    ===================================================================
    --- a/drivers/ide/legacy/falconide.c
    +++ b/drivers/ide/legacy/falconide.c
    @@ -87,7 +87,6 @@ static int __init falconide_init(void)
    u8 index = hwif->index;
    u8 idx[4] = { index, 0xff, 0xff, 0xff };

    - ide_init_port_data(hwif, index);
    ide_init_port_hw(hwif, &hw);

    ide_get_lock(NULL, NULL);
    Index: b/drivers/ide/legacy/gayle.c
    ===================================================================
    --- a/drivers/ide/legacy/gayle.c
    +++ b/drivers/ide/legacy/gayle.c
    @@ -182,7 +182,6 @@ found:
    if (hwif) {
    u8 index = hwif->index;

    - ide_init_port_data(hwif, index);
    ide_init_port_hw(hwif, &hw);

    idx[i] = index;
    Index: b/drivers/ide/legacy/ide-cs.c
    ===================================================================
    --- a/drivers/ide/legacy/ide-cs.c
    +++ b/drivers/ide/legacy/ide-cs.c
    @@ -183,7 +183,6 @@ static ide_hwif_t *idecs_register(unsign

    i = hwif->index;

    - ide_init_port_data(hwif, i);
    ide_init_port_hw(hwif, &hw);
    hwif->port_ops = &idecs_port_ops;

    Index: b/drivers/ide/legacy/macide.c
    ===================================================================
    --- a/drivers/ide/legacy/macide.c
    +++ b/drivers/ide/legacy/macide.c
    @@ -125,7 +125,6 @@ static int __init macide_init(void)
    u8 index = hwif->index;
    u8 idx[4] = { index, 0xff, 0xff, 0xff };

    - ide_init_port_data(hwif, index);
    ide_init_port_hw(hwif, &hw);

    ide_device_add(idx, NULL);
    Index: b/drivers/ide/legacy/q40ide.c
    ===================================================================
    --- a/drivers/ide/legacy/q40ide.c
    +++ b/drivers/ide/legacy/q40ide.c
    @@ -139,7 +139,6 @@ static int __init q40ide_init(void)

    hwif = ide_find_port();
    if (hwif) {
    - ide_init_port_data(hwif, hwif->index);
    ide_init_port_hw(hwif, &hw);

    idx[i] = hwif->index;
    Index: b/drivers/ide/pci/delkin_cb.c
    ===================================================================
    --- a/drivers/ide/pci/delkin_cb.c
    +++ b/drivers/ide/pci/delkin_cb.c
    @@ -87,7 +87,6 @@ delkin_cb_probe (struct pci_dev *dev, co

    i = hwif->index;

    - ide_init_port_data(hwif, i);
    ide_init_port_hw(hwif, &hw);
    hwif->port_ops = &delkin_cb_port_ops;


    \
     
     \ /
      Last update: 2008-03-24 19:43    [W:0.042 / U:32.840 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site