20 Jul, 2007

40 commits

  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Now that ide-floppy supports SG_IO we can add support for SCSI ioctls
    (except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET
    ones - we can add them later iff really needed).

    While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from
    generic_ide_ioctl():

    - This prevents ide-{disk,tape,scsi} device drivers from obtaining
    REQ_TYPE_BLOCK_PC type requests which are currently unsupported by
    these drivers and which are potentially harmful (as reported by Andrew).

    - There is no functionality loss since aforementioned ioctls will now be
    handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using
    ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl()
    (for devices using ide-cd driver).

    Cc: Jens Axboe
    Cc: FUJITA Tomonori
    Cc: James Bottomley
    Cc: Jeff Garzik
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ATA_PIO[0-6] defines to .

    * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t.

    * Add PIO masks to host drivers.

    change ACK-ed by Jeff Garzik .

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

    Bartlomiej Zolnierkiewicz
     
  • * Add ->host_flags to ide_hwif_t to store ide_pci_device_t.host_flags,
    assign it in setup-pci.c:ide_pci_setup_ports().

    * Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags
    and teach ide_get_best_pio_mode() about them. Also remove needless
    !drive->id check while at it (drive->id is always present).

    * Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode()
    and then remove no longer needed ide_find_best_pio_mode().

    There should be no functionality changes caused by this patch.

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

    Bartlomiej Zolnierkiewicz
     
  • * Drop no longer needed "PIO data" argument from ide_get_best_pio_mode()
    and convert all users accordingly.

    * Remove no longer needed ide_pio_data_t.

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

    Bartlomiej Zolnierkiewicz
     
  • * Check IORDY bit for PIO modes > 2.

    * Some devices claim maximum PIO mode > 2 in id->tPIO, they were punished too
    severly for this by being limited to PIO_SLOW. Limit them to PIO2 instead.

    v2:
    * Fix PIO number being returned incorrectly instead of PIO mode
    (Noticed by Sergei).

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

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_pio_cycle_time() helper.

    * Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers
    (previously cycle time given by the device was only used for "pio" == 255).

    * Remove no longer needed ide_pio_data_t.cycle_time field.

    v2:
    * Fix "ata_" prefix (Noticed by Jeff).

    Acked-by: Sergei Shtylyov
    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Nowadays core IDE code handles restoring of PIO and DMA modes
    (ide-io.c:ide_start_power_step() etc) so remove open-coded version
    from sc1200_resume().

    There should be no change in behavior because settings done by
    sc1200_resume() were always overridden by generic_ide_resume()
    and ide_{start,stop}_power_step().

    * Bump driver version.

    Cc: Mark Lord
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Do the same thing as probe_hwif() and always disable DMA so chipset DMA
    enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma()
    won't try to tune it anyway).

    * Add TODO comment about respecting ->using_dma setting.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • The driver used to depend on BIOS settings for deciding whether it is OK
    to use DMA. However it seems that BIOS doesn't always handle all cases
    correctly so just let IDE core to decide about this. It should be a safe
    thing to do now, after the driver went through heavy bugfixing.

    Thanks for bugreport and testing the patch goes out to Sven Niedner.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Always set ->autotune so PIO gets correctly auto-tuned (previously
    ->autotune was only set when ->dma_base wasn't available, however
    ->ide_dma_check()/->speedproc() was always trying to tune PIO when
    tuning DMA).

    * Move code responsible for programming chipset for PIO mode from
    svwks_tune_chipset() to svwks_tune_pio(). Don't tune PIO when tuning
    DMA (this is no longer needed since ->autotune is always set now).

    * Handle PIO modes early in svwks_tune_chipset() so DMA configuration
    registers don't get cleared when programming PIO mode.

    * Bump driver version.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags
    and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS.

    * Add IDE_HFLAG_SINGLE flag for single channel devices.

    * Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE
    and remove no longer needed ide_pci_device_t.channels field.

    v2:
    * Fix issues noticed by Sergei:
    - correct code alignment in scc_pata.c
    - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c

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

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_dev_has_iordy() helper and use it sl82c105 host driver.

    * Remove no longer needed ide_pio_data_t.use_iordy field.

    v2/v3:
    * Fix issues noticed by Sergei:
    - correct patch description
    - fix comment in ide_get_best_pio_mode()

    v4:
    * Fix "ata_" prefix (Noticed by Jeff).

    Acked-by: Sergei Shtylyov
    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Print info about overriding PIO mode in ide_get_best_pio_mode().

    * Remove info about overriding PIO mode from cmd64{0,x} host drivers.

    * Remove no longer needed ide_pio_data_t.overridden field.

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

    Bartlomiej Zolnierkiewicz
     
  • * Add sil_tuneproc() wrapper for siimage_tuneproc() which also sets
    PIO mode on the device.

    * Add missing ide_get_best_pio_mode() call to sil_tuneproc() so
    "pio" == 255 (autotune) is handled correctly (previously PIO0 was used)
    and "pio" values > 4 && < 255 are filtered to PIO4 (instead of PIO0).

    * Add code limiting maximum PIO mode according to the pair device capabilities
    to sil_tuneproc().

    * Convert users of config_siimage_chipset_for_pio() to use sil_tune_pio() and
    sil_tuneproc(). This fixes PIO fallback in siimage_config_drive_for_dma() to
    use max PIO mode available instead of PIO4 (config_siimage_chipset_for_pio()
    used wrong arguments for ide_get_best_pio_mode() and as a results always
    tried to set PIO4).

    * Remove no longer needed siimage_taskfile_timing()
    and config_siimage_chipset_for_pio().

    * Enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes
    from siimage_speedproc()

    * Bump driver version.

    v2:
    * Fix issues noticed by Sergei:
    - correct pair device check
    - trim only taskfile PIO to the slowest of the master/slave
    - enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes
    from siimage_speedproc()
    - add TODO item for IORDY bugs
    - minor cleanups

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

    Bartlomiej Zolnierkiewicz
     
  • * Split off exisiting atiixp_tuneproc() into atiixp_tune_pio()
    and then add setting device PIO mode to atiixp_tuneproc().

    * Add missing ide_get_best_pio_mode() call to atiixp_tuneproc() so
    "pio" == 255 (autotune) is handled correctly and "pio" values > 4 && < 255
    are filtered to PIO4 (previously "pio" == 5 could result in wrong timings
    being used and "pio" values > 4 && < 255 in an OOPS).

    * Handle PIO modes early in atiixp_speedproc() so save_mdma_mode[]
    doesn't get cleared.

    * In atiixp_dma_check():
    - fix max_mode argument for ide_get_best_pio_mode()
    - don't call atiixp_dma_2_pio() so PIO1 doesn't get remapped to PIO0
    - use atiixp_tuneproc() instead of atiixp_speedproc()

    * Bump driver version.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Various old IDE drivers go mapping ROM devices for no apparent reason and
    without using the ROM mapping API we now have. They don't actually use
    the ROM they map and the new libata drivers are happy without it being
    mapped so rather than port them lets just junk it for the next -rc1.

    Signed-off-by: Alan Cox
    Acked-by: Sergei Shtylyov
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Alan Cox
     
  • The two CONFIG variables

    CONFIG_ETRAX_IDE_CSE1_16_RESET
    CONFIG_ETRAX_IDE_CSP0_8_RESET

    appear to have been dead since way back in 2.5.xx days:

    http://www.linuxhq.com/kernel/v2.5/75/arch/cris/drivers/Kconfig

    Signed-off-by: Robert P. J. Day
    Cc: Michael Starvik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Robert P. J. Day
     
  • One card submitted by user.

    Signed-off-by: Marcin Juszkiewicz
    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Marcin Juszkiewicz
     
  • Workaround for errata A308: turn down the UDMA mode and retry
    the DMA command when the data lost condition is detected.

    take2:
    udma_filter() hook is used to limit ATAPI UDMA mode.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Akira Iguchi
    Cc: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Kou Ishizaki
     
  • Move to using inline function variant of eieio instead of inline assmebly.

    Signed-off-by: Kumar Gala
    Cc: kou.ishizaki@toshiba.co.jp
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Kumar Gala
     
  • Currently, CONFIG_X86_CMPXCHG64 both enables boot-time checking of
    the cmpxchg64b feature and enables compilation of the set_64bit() family.
    Since the option is dependent on PAE, and since KVM depends on set_64bit(),
    this effectively disables KVM on i386 nopae.

    Simplify by removing the config option altogether: the boot check is made
    dependent on CONFIG_X86_PAE directly, and the set_64bit() family is exposed
    without constraints. It is up to users to check for the feature flag (KVM
    does not as virtualiation extensions imply its existence).

    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (33 commits)
    xtensa: use DATA_DATA in xtensa
    powerpc: add missing DATA_DATA to powerpc
    cris: use DATA_DATA in cris
    kallsyms: remove usage of memmem and _GNU_SOURCE from scripts/kallsyms.c
    kbuild: use -fno-optimize-sibling-calls unconditionally
    kconfig: reset generated values only if Kconfig and .config agree.
    kbuild: fix the warning when running make tags
    kconfig: strip 'CONFIG_' automatically in kernel configuration search
    kbuild: use POSIX BRE in headers install target
    Whitelist references from __dbe_table to .init
    modpost white list pattern adjustment
    kbuild: do section mismatch check on full vmlinux
    kbuild: whitelist references from variables named _timer to .init.text
    kbuild: remove hardcoded _logo names from modpost
    kbuild: remove hardcoded apic_es7000 from modpost
    kbuild: warn about references from .init.text to .exit.text
    kbuild: consolidate section checks
    kbuild: refactor code in modpost to improve maintainability
    kbuild: ignore section mismatch warnings originating from .note section
    kbuild: .paravirtprobe section is obsolete, so modpost doesn't need to handle it
    ...

    Linus Torvalds
     
  • * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (44 commits)
    i2c: Delete the i2c-isa pseudo bus driver
    hwmon: refuse to load abituguru driver on non-Abit boards
    hwmon: fix Abit Uguru3 driver detection on some motherboards
    hwmon/w83627ehf: Be quiet when no chip is found
    hwmon/w83627ehf: No need to initialize fan_min
    hwmon/w83627ehf: Export the thermal sensor types
    hwmon/w83627ehf: Enable VBAT monitoring
    hwmon/w83627ehf: Add support for the VID inputs
    hwmon/w83627ehf: Fix timing issues
    hwmon/w83627ehf: Add error messages for two error cases
    hwmon/w83627ehf: Convert to a platform driver
    hwmon/w83627ehf: Update the Kconfig entry
    make coretemp_device_remove() static
    hwmon: Add LM93 support
    hwmon: Improve the pwmN_enable documentation
    hwmon/smsc47b397: Don't report missing fans as spinning at 82 RPM
    hwmon: Add support for newer uGuru's
    hwmon/f71805f: Add temperature-tracking fan control mode
    hwmon/w83627ehf: Preserve speed reading when changing fan min
    hwmon: fix detection of abituguru volt inputs
    ...

    Manual fixup of trivial conflict in MAINTAINERS file

    Linus Torvalds
     
  • If root raised the default wakeup threshold over the size of the
    output pool, the pool transfer function could overflow the stack with
    RNG bytes, causing a DoS or potential privilege escalation.

    (Bug reported by the PaX Team )

    Cc: Theodore Tso
    Cc: Willy Tarreau
    Signed-off-by: Matt Mackall
    Signed-off-by: Chris Wright
    Signed-off-by: Linus Torvalds

    Matt Mackall
     
  • There are no users of i2c-isa left, so we can finally get rid of it.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • With this patch the abituguru refuses to load on non Abit motherboards, as
    discussed in lkml CONFIG_BREAK_MY_MACHINE thread.

    Signed-off-by: Hans de Goede
    Acked-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Hans de Goede
     
  • This patch changes the driver to also detect uguru3's which hold 0x08 at DATA
    initially, as has been reported here:
    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=220160

    Also when an uguru3's holds 0x0014 in the ID register it will now report
    "Abit AB9 Pro" as motherboard identification.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mark M. Hoffman

    Hans de Goede
     
  • This fixes bug #8593:
    http://bugzilla.kernel.org/show_bug.cgi?id=8593

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     
  • We don't need to initialize fan_min in this driver, as the fan_div
    attributes are read-only.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     
  • Add support for the w83627ehf thermal sensor types. I made them read-only,
    as the BIOS is supposed to set them up properly. This information makes it
    easier to find out which temperature channel corresponds to the CPU.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     
  • If VBAT monitoring is disabled, enable it. Original patch from
    an anonymous contributor on the lm-sensors trac system:
    http://lm-sensors.org/ticket/2218

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     
  • The W83627EHF and similar chips have 6 VID input pins, add support
    for them. The driver changes the input voltage level automatically
    if the current setting is not correct for the detected CPU model.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     
  • * I have experimental evidence that the W83627EHG needs more than 1
    second to refresh all the measured values. Increase the caching time to
    1.5 second.
    * When changing a fan clock divider, the corresponding fan speed
    measurement register is no longer valid, until the next time the chip
    will refresh it. One way to fix this is to pretend that the cache is
    still valid for one more period (1.5 second.)

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    Jean Delvare
     
  • If the Super-I/O device is disabled, it is likely the BIOS has a good
    reason for leaving it disabled, so give a warning when enabling it --
    it's not likely to be wired correctly or be able to give good data.

    Also, if the Super-I/O device is configured with an address of 0, the
    driver refuses to initialize it.

    Signed-off-by: David Hubbard
    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    David Hubbard
     
  • Remove i2c-isa from the w83627ehf driver, and use a platform driver
    instead.

    Signed-off-by: David Hubbard
    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    David Hubbard
     
  • Add description for the W83627DHG chip to Kconfig.

    Signed-off-by: David Hubbard
    Signed-off-by: Jean Delvare
    Signed-off-by: Mark M. Hoffman

    David Hubbard