24 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 or at your option any
    later version you should have received a copy of the gnu general
    public license for example usr src linux copying if not write to the
    free software foundation inc 675 mass ave cambridge ma 02139 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 20 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190520170858.552543146@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

17 Aug, 2017

1 commit

  • pnp_device_id are not supposed to change at runtime. All functions
    working with pnp_device_id provided by work with
    const pnp_device_id. So mark the non-const structs as const.

    Signed-off-by: Arvind Yadav
    Signed-off-by: David S. Miller

    Arvind Yadav
     

19 Mar, 2015

1 commit


01 Nov, 2011

1 commit


18 May, 2009

3 commits

  • Remove hw_regs_t typedef and rename struct hw_regs_s to struct ide_hw.

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Pass number of ports to ide_host_{alloc,add}() and then update
    all users accordingly.

    v2:
    - drop no longer needed NULL initializers in buddha.c, cmd640.c and gayle.c
    (noticed by Sergei)

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Convert host drivers that still use hw_regs_t's chipset field to use
    the one in struct ide_port_info instead.

    * Move special handling of ide_pci chipset type from ide_hw_configure()
    to ide_init_port().

    * Remove chipset field from hw_regs_t.

    While at it:
    - remove stale comment in delkin_cb.c

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

27 Mar, 2009

1 commit


24 Jul, 2008

3 commits

  • Add ide_host_add() helper which does ide_host_alloc()+ide_host_register(),
    then convert ide_setup_pci_device[s](), ide_legacy_device_add() and some
    host drivers to use it.

    While at it:

    * Fix ide_setup_pci_device[s](), ide_arm.c, gayle.c, ide-4drives.c,
    macide.c, q40ide.c, cmd640.c and cs5520.c to return correct error value.

    * -ENOENT -> -ENOMEM in rapide.c, ide-h8300.c, ide-generic.c, au1xxx-ide.c
    and pmac.c

    * -ENODEV -> -ENOMEM in palm_bk3710.c, ide_platform.c and delkin_cb.c

    * -1 -> -ENOMEM in ide-pnp.c

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add struct ide_host which keeps pointers to host's ports.

    * Add ide_host_alloc[_all]() and ide_host_remove() helpers.

    * Pass 'struct ide_host *host' instead of 'u8 *idx' to
    ide_device_add[_all]() and rename it to ide_host_register[_all]().

    * Convert host drivers and core code to use struct ide_host.

    * Remove no longer needed ide_find_port().

    * Make ide_find_port_slot() static.

    * Unexport ide_unregister().

    v2:
    * Add missing 'struct ide_host *host' to macide.c.

    v3:
    * Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/)
    (Noticed by Stephen Rothwell).

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add 'hw_regs_t **hws' argument to ide_device_add[_all]() and convert
    host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use
    it instead of calling ide_init_port_hw() directly.

    [ However if host has > 1 port we must still set hwif->chipset to hint
    consecutive ide_find_port() call that the previous slot is occupied. ]

    * Unexport ide_init_port_hw().

    v2:
    * Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c.
    (Suggested by Geert Uytterhoeven)

    * Better patch description.

    v3:
    * Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell)

    There should be no functional changes caused by this patch.

    Cc: Geert Uytterhoeven
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

17 Jul, 2008

2 commits


11 Jun, 2008

1 commit


27 Apr, 2008

3 commits


26 Apr, 2008

2 commits


18 Apr, 2008

1 commit

  • hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS
    and given the number of bugs we can assume that there are no real users:

    * DMA has no chance of working because DMA resources are released by
    ide_unregister() and they are never allocated again.

    * Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls
    don't work for almost all hosts with "non-standard" (== non ISA-like)
    layout of IDE taskfile registers (there is a lot of such host drivers).

    * ide_port_init_devices() is not called when probing IDE devices so:
    - drive->autotune is never set and IDE host/devices are not programmed
    for the correct PIO/DMA transfer modes (=> possible data corruption)
    - host specific I/O 32-bit and IRQ unmasking settings are not applied
    (=> possible data corruption)
    - host specific ->port_init_devs method is not called (=> no luck with
    ht6560b, qd65xx and opti621 host drivers)

    * ->rw_disk method is not preserved (=> no HPT3xxN chipsets support).

    * ->serialized flag is not preserved (=> possible data corruption when
    using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366
    (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers).

    * ->ack_intr method is not preserved (=> needed by ide-cris, buddha,
    gayle and macide host drivers).

    * ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it
    isn't initialized again (SiI3112 support needs them).

    * To issue an ioctl() there need to be at least one IDE device present
    in the system.

    * ->cable_detect method is not preserved + it is not called when probing
    IDE devices so cable detection is broken (however since DMA support is
    also broken it doesn't really matter ;-).

    * Some objects which may have already been freed in ide_unregister()
    are restored by ide_hwif_restore() (i.e. ->hwgroup).

    * ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[]
    slot cannot be found.

    * When IDE host drivers are modular unregistered port may be re-used by
    different host driver that owned it first causing subtle bugs.

    Since we now have a proper warm-plug support remove these ioctls,
    then remove no longer needed:
    - ide_register_hw() and ide_hwif_restore() functions
    - 'init_default' and 'restore' arguments of ide_unregister()
    - zeroeing of hwif->{dma,extra}_* fields in ide_unregister()

    As an added bonus IDE core code size shrinks by ~3kB (x86-32).

    v2:
    * fix ide_unregister() arguments in cleanup_module() (Andrew Morton).

    v3:
    * fix ide_unregister() arguments in palm_bk3710.c.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

03 Apr, 2008

1 commit


03 Feb, 2008

3 commits

  • bast-ide.c/ide-cs.c/delkin_cb.c:

    * Don't set 'restore' flag for ide_unregister() when initializing new
    interface.

    rapide.c/ide-pnp.c/ide-cs.c/ide_platform.c/au1xxx-ide.c/delkin_cb.c/scc_pata.c:

    * Don't set 'init_default' and 'restore' flags for ide_unregister() when
    removing interface.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add 'init_default' (flag for calling init_hwif_default()) and 'restore'
    (flag for calling ide_hwif_restore()) arguments to ide_unregister().

    * Update ide_unregister() users to set 'init_default' and 'restore' flags.

    * No need to set 'init_default' flag in ide_register_hw() if the setup done
    by init_hwif_default() is going to be overridden by ide_init_port_hw().

    * No need to set 'init_default' and 'restore' flags in cleanup_module().

    There should be no functionality changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Remove 'struct pci_dev *dev' argument from ide_hwif_setup_dma().

    * Un-static ide_hwif_setup_dma() and add CONFIG_BLK_DEV_IDEDMA_PCI=n version.

    * Add 'const struct ide_port_info *d' argument to ide_device_add[_all]().

    * Factor out generic ports init from ide_pci_setup_ports() to ide_init_port(),
    move it to ide-probe.c and call it in in ide_device_add_all() instead of
    ide_pci_setup_ports().

    * Move ->mate setup to ide_device_add_all() from ide_port_init().

    * Add IDE_HFLAG_NO_AUTOTUNE host flag for host drivers that don't enable
    ->autotune currently.

    * Setup hwif->chipset in ide_init_port() but iff pi->chipset is set
    (to not override setup done by ide_hwif_configure()).

    * Add ETRAX host handling to ide_device_add_all().

    * cmd640.c: set IDE_HFLAG_ABUSE_* also for CONFIG_BLK_DEV_CMD640_ENHANCED=n.

    * pmac.c: make pmac_ide_setup_dma() return an error value and move DMA masks
    setup to pmac_ide_setup_device().

    * Add 'struct ide_port_info' instances to legacy host drivers, pass them to
    ide_device_add() calls and then remove open-coded ports initialization.

    Reviewed-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

02 Feb, 2008

1 commit

  • Delete filenames/versions from comments.

    I'm leaving decisions about adding DRV_VERSION defines and MODULE_VERSION()-s
    to maintainers of the respective drivers.

    While at it:

    * Remove unused VERSION define from ide.c.

    * Remove unused/stale DRV_VERSION define from au1xxx-ide.c.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

27 Jan, 2008

3 commits

  • * Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c
    file for probing PCI host drivers registered with IDE core (special case
    for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of
    the ordering in which all IDE host drivers are probed when IDE is built-in
    during link time.

    * Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch
    specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris
    arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific).

    * Move probing of ide-cris (cris arch specific) host driver before cmd640
    (x86 arch specific).

    * Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends
    on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300
    (h8300 arch specific).

    * Add "probe_vlb" kernel parameter to cmd640 host driver and update
    Documentation/ide.txt accordingly.

    * Make IDE_ARM config option visible so it can also be disabled if needed.

    * Remove bogus comment from ide.c while at it.

    v2:
    * Fix two issues spotted by Sergei:
    - replace ENOMEM error value by ENOENT in ide-h8300 host driver
    - fix MODULE_PARM_DESC() in cmd640 host driver

    Cc: Sergei Shtylyov
    Cc: Mikael Starvik
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add mpc8xx_ide_probe() to mpc8xx.c and call it from probe_for_hwifs().

    * Convert ide_arm, ide-cris, ide-h8300, ide-pnp, buddha, falconide, gayle,
    macide, q40ide, cmd640 and mpc8xx host drivers to use ide_device_add().

    This removes dependency on ide_generic for these drivers so update
    ide/Kconfig accordingly.

    v2:
    * ide_arm build fix (s/ide_device_idx/ide_device_add/)
    (Thanks to Christoph Lameter for reporting the problem).

    Cc: Mikael Starvik
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Rename init_hwif_data() to ide_init_port_data() and export it.

    * For all users of ide_register_hw() with 'initializing' argument set
    hwif->present and hwif->hold are always zero so convert these host
    drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw()
    instead (also no need for init_hwif_default() call since the setup
    done by it gets over-ridden by ide_init_port_hw() call).

    * Drop 'initializing' argument from ide_register_hw().

    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

20 Oct, 2007

2 commits

  • * hwif->hwif_data contains pointer to struct expansion_card so use ec->dma
    directly instead of caching it in hwif->hw.dma.

    * Remove no longer needed hw_regs_t.dma and NO_DMA define.

    Cc: Russell King
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ->fixup method to ide_hwif_t.

    * Set hwif->fixup in ide_pci_setup_ports() to d->fixup.

    * Use hwif->fixup in probe_hwif().

    * Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in
    ide_setup_pci_device().

    * Add 'fixup' argument to ide_register_hw() and use it to set hwif->fixup,
    update all ide_register_hw() users accordingly.

    * Convert ide-cs/delkin_cb host drivers to use ide_register_hw().

    * Restore hwif->fixup in ide_hwif_restore().

    * Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup()
    and 'fixup' argument from probe_hwif().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

10 May, 2007

1 commit


27 Jan, 2007

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds