25 Jul, 2008

4 commits

  • Use generic_access_phys as the access_process_vm access function for
    /dev/mem mappings. This makes it possible to debug the X server.

    [akpm@linux-foundation.org: repair all the architectures which broke]
    Signed-off-by: Rik van Riel
    Cc: Benjamin Herrensmidt
    Cc: Dave Airlie
    Cc: Hugh Dickins
    Cc: Paul Mackerras
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rik van Riel
     
  • [akpm@linux-foundation.org: remove unused variable]
    Signed-off-by: Nick Piggin
    Acked-by: Jes Sorensen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • This patch removes the no longer used is_tty().

    Signed-off-by: Adrian Bunk
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • James Bottomley warns that inclusion of linux/fs.h in a low level
    driver was always a danger signal. This patch moves
    memory_read_from_buffer() from fs.h to string.h and fixes includes in
    existing memory_read_from_buffer() users.

    Signed-off-by: Akinobu Mita
    Cc: James Bottomley
    Cc: Geert Uytterhoeven
    Cc: Zhang Rui
    Cc: Bob Moore
    Cc: Thomas Renninger
    Cc: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

24 Jul, 2008

36 commits

  • * 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)
    NR_CPUS: Replace NR_CPUS in speedstep-centrino.c
    cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP
    NR_CPUS: Replace NR_CPUS in cpufreq userspace routines
    NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c
    NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c
    cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix
    cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target
    cpumask: Provide a generic set of CPUMASK_ALLOC macros
    cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c
    cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c
    cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c
    cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c
    cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c
    cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr
    Revert "cpumask: introduce new APIs"
    cpumask: make for_each_cpu_mask a bit smaller
    net: Pass reference to cpumask variable in net/sunrpc/svc.c
    ...

    Fix up trivial conflicts in drivers/cpufreq/cpufreq.c manually

    Linus Torvalds
     
  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (85 commits)
    [ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR)
    [ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB)
    [ARM] pxa: add base support for PXA930 (aka Tavor-P)
    [ARM] Update mach-types
    [ARM] pxa: make littleton to use the new smc91x platform data
    [ARM] pxa: make zylonite to use the new smc91x platform data
    [ARM] pxa: make mainstone to use the new smc91x platform data
    [ARM] pxa: make lubbock to use new smc91x platform data
    [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data
    [NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable
    [NET] smc91x: add SMC91X_NOWAIT flag to platform data
    [NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_*
    [NET] smc91x: remove "irq_flags" from "struct smc91x_platdata"
    [ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper
    Support for LCD on e740 e750 e400 and e800 e-series PDAs
    E-series UDC support
    PXA UDC - allow use of inverted GPIO for pullup
    Add e350 support
    Fix broken e-series build
    E-series GPIO / IRQ definitions.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    sdhci: highmem capable PIO routines
    sg: reimplement sg mapping iterator
    mmc_test: print message when attaching to card
    mmc: Remove Russell as primecell mci maintainer
    mmc_block: bounce buffer highmem support
    sdhci: fix bad warning from commit c8b3e02
    sdhci: add warnings for bad buffers in ADMA path
    mmc_test: test oversized sg lists
    mmc_test: highmem tests
    s3cmci: ensure host stopped on machine shutdown
    au1xmmc: suspend/resume implementation
    s3cmci: fixes for section mismatch warnings
    pxamci: trivial fix of DMA alignment register bit clearing

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (24 commits)
    I/OAT: I/OAT version 3.0 support
    I/OAT: tcp_dma_copybreak default value dependent on I/OAT version
    I/OAT: Add watchdog/reset functionality to ioatdma
    iop_adma: cleanup iop_chan_xor_slot_count
    iop_adma: document how to calculate the minimum descriptor pool size
    iop_adma: directly reclaim descriptors on allocation failure
    async_tx: make async_tx_test_ack a boolean routine
    async_tx: remove depend_tx from async_tx_sync_epilog
    async_tx: export async_tx_quiesce
    async_tx: fix handling of the "out of descriptor" condition in async_xor
    async_tx: ensure the xor destination buffer remains dma-mapped
    async_tx: list_for_each_entry_rcu() cleanup
    dmaengine: Driver for the Synopsys DesignWare DMA controller
    dmaengine: Add slave DMA interface
    dmaengine: add DMA_COMPL_SKIP_{SRC,DEST}_UNMAP flags to control dma unmap
    dmaengine: Add dma_client parameter to device_alloc_chan_resources
    dmatest: Simple DMA memcpy test client
    dmaengine: DMA engine driver for Marvell XOR engine
    iop-adma: fix platform driver hotplug/coldplug
    dmaengine: track the number of clients using a channel
    ...

    Fixed up conflict in drivers/dca/dca-sysfs.c manually

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
    kgdb: kgdboc console poll hooks for mpsc uart
    kgdb: kgdboc console poll hooks for cpm uart
    kgdb, powerpc: arch specific powerpc kgdb support
    kgdb: support for ARCH=arm
    kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variable

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (60 commits)
    ide: small whitespace fixes
    ide: ide-cd_ioctl.c fix sparse integer as NULL pointer warnings
    ide: ide-cd.c fix sparse endianness warnings
    ide-cd: convert to using the new atapi_flags
    ide: remove unused PC_FLAG_DRQ_INTERRUPT
    ide-scsi: convert to using the new atapi_flags
    ide-tape: convert to using the new atapi_flags
    ide-floppy: convert to using the new atapi_flags (take 2)
    ide: add per-device flags
    ide: use rq->cmd instead of pc->c in atapi common code
    ide-scsi: pass packet command in rq->cmd
    ide-tape: pass packet command in rq->cmd
    ide-tape: make room for packet command ids in rq->cmd
    ide-floppy: pass packet command in rq->cmd
    ide: remove pc->callback member from ide_atapi_pc
    ide-scsi: use drive->pc_callback instead of pc->callback
    ide-tape: use drive->pc_callback instead of pc->callback
    ide-floppy: use drive->pc_callback instead of pc->callback
    ide: push pc callback pointer into the ide_drive_t structure
    drivers/ide/ide-tape.c: remove double kfree
    ...

    Linus Torvalds
     
  • Small whitespace fixes for drivers/ide.

    Signed-off-by: Pavel Machek
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Pavel Machek
     
  • The function ide_cd_queue_pc should be checked as the bufflen arg is
    dereferenced and lots of callers are passing in NULL.

    drivers/ide/ide-cd_ioctl.c:124:46: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd_ioctl.c:149:47: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd_ioctl.c:231:46: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd_ioctl.c:374:46: warning: Using plain integer as NULL pointer

    Signed-off-by: Harvey Harrison
    Cc: Andrew Morton
    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Harvey Harrison
     
  • drivers/ide/ide-cd.c:1276:46: warning: Using plain integer as NULL pointer
    drivers/ide/ide-cd.c:1298:19: warning: cast to restricted __be32
    drivers/ide/ide-cd.c:1300:4: warning: cast to restricted __be32
    drivers/ide/ide-cd.c:1522:14: warning: cast to restricted __le16
    drivers/ide/ide-cd.c:1523:14: warning: cast to restricted __le16
    drivers/ide/ide-cd.c:1525:14: warning: cast to restricted __be16
    drivers/ide/ide-cd.c:1526:14: warning: cast to restricted __be16
    drivers/ide/ide-cd.c:1667:37: warning: cast to restricted __be16

    Signed-off-by: Harvey Harrison
    Cc: Andrew Morton
    Acked-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Harvey Harrison
     
  • There should be no functionality change resulting from this patch.

    [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Remove unused IDESCSI_PC_RQ while at it.

    There should be no functionality change resulting from this patch.

    [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • There should be no functionality change resulting from this patch.

    [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • while at it, remove PC_FLAG_ZIP_DRIVE from the packed command flags altogether
    and query the drive type through drive->atapi_flags.

    v2:
    ide-floppy fix.

    There should be no functionality change resulting from this patch.

    [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • There should be no functionality change resulting from this patch.

    [bart: s/HWGROUP(drive)/hwif->hwgroup/]

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Make a redundant copy of the packet command bits into rq->cmd.
    Later, after all drivers have been converted, it'll be
    switched to use that in the common code instead of pc->c.

    There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Make a redundant copy of the packet command bits into rq->cmd. Later, after
    all drivers have been converted, it'll be switched to use that in the
    common code instead of pc->c. While at it, simplify ide_tape_create_rw_cmd.

    There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • ide-tape uses rq->cmd for special commands from the chrdev interface so move
    those to byte 13 (BLK_MAX_CDB = 16) since a packet cmd is max 12 bytes.

    There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Make a redundant copy of the packet command bits into rq->cmd.
    Later, after all drivers have been converted, it'll be
    switched to use that in the common code instead of pc->c.

    There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • The if-else block in the IRQ handler is only temporary so that bisect searches
    don't break and it'll be removed after converting the remainder of the drivers.

    There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • It is important that drive->pc_callback is set prior to enabling IRQs on the
    device since this is called from the IRQ handler. Otherwise it hurts as I learnt
    the hard way from the several "Kernel panic - not synching: Fatal exception in
    interrupt" during the weekend :).

    The if-else block in the IRQ handler is only temporary so that bisect searches
    don't break and it'll be removed after converting the remainder of the drivers.

    There should be no functionality change resulting from this patch.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Coverity CID: 2336 USE_AFTER_FREE

    drivers/ide/ide-tape.c ide_tape_kfree_buffer() double free's a pointer
    (hint freed by an alias in first outer loop).

    This patch simply removes the superfluous kfree().

    Signed-off-by: Darren Jenkins
    Acked-by: Borislav Petkov
    Cc: gadio@netvision.net.il
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Darren Jenkins
     
  • * Add ide_host_free() helper and convert ide_host_remove() to use it.

    * Fix handling of ide_host_register() failure in ide_host_add(),
    icside.c, ide-generic.c, falconide.c and sgiioc4.c.

    While at it:

    * Fix handling of ide_host_alloc_all() failure in ide-generic.c.

    * Fix handling of ide_host_alloc() failure in falconide.c
    (also return the correct error value if no device is found).

    v2:
    * falconide build fix. (From Stephen Rothwell)

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Allocate ide_hwif_t instances dynamically and remove ide_hwifs[].

    This cuts almost ~14kB from ide-probe.o (x86-32, MAX_HWIFS == 10):

    text data bss dec hex filename
    9140 40 14084 23264 5ae0 drivers/ide/ide-probe.o.before
    9169 40 44 9253 2425 drivers/ide/ide-probe.o.after

    * Remove no longer needed ide_init_port_data() call from ide_unregister().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_ports[] table keeping pointers to all initialized ports.

    * Set ide_ports[] entry for a given port in init_irq() and clear it
    ide_remove_port_from_hwgroup().

    * Convert init_irq() to use ide_ports[] instead of ide_hwifs[] for
    grouping ports into hwgroup.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Make ide_find_port_slot() return port slot index.

    * Add ide_free_port_slot() helper.

    * Move ide_init_port_data() call and error printk() from
    ide_find_port_slot() to ide_host_alloc_all().

    * Make ide_{find,free}_port_slot() take ide_cfg_mtx mutex
    and convert them use ide_indexes bitmap to keep track of
    reserved port slots.

    * Don't set hwif->chipset in ide_host_alloc_all() as it is
    no longer necessary.

    v2:
    * Pass the correct slot index to ide_init_port_data().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Fix ide_host_register() to fail only if all ports cannot be registered.

    While at it:

    * Use host->ports[] instead of ide_hwifs[] and remove idx[].

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • 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 struct ide_tp_ops for transport methods.

    * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info
    and ide_hwif_t.

    * Set the default hwif->tp_ops in ide_init_port_data().

    * Set host driver specific hwif->tp_ops in ide_init_port().

    * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(),
    ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}()
    and ata_{in,out}put_data().

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

    * Remove no longer needed default_hwif_transport().

    * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops.

    While at it:

    * Use struct ide_port_info in falconide.c and q40ide.c.

    * Rename ata_{in,out}put_data() to ide_{in,out}put_data().

    v2:

    * Fix missing convertion in ns87415.c.

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Add 'config' field to hw_regs_t and use it to set hwif->config_data in
    ide_init_port_hw(), then convert ide_legacy_init_one() to use hw->config.

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Don't skip probing IDE port if the corresponding ide_hwifs[] slot
    is already occupied.

    * Remove duplicate idx[i] assignment.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Reserve memory resources for all IDE ports at once by moving
    request_mem_region() out of 'for ()' loop and always defining
    GAYLE_IDEREG_SIZE to 0x2000.

    * Keep memory resources even if no free IDE slots can be found
    (this driver is unloadable currently).

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

    Bartlomiej Zolnierkiewicz
     
  • * Filter out "default" transfer mode values (0x00 - default PIO mode,
    0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted
    /proc/ide/hd?/settings:current_speed setting.

    Allowing "default" transfer mode values is a dangerous thing to do as
    we don't support programming controller to the "default" transfer mode
    and devices often use different values for the default and maximum PIO
    mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay
    programmed for higher PIO mode while device will use the lower PIO mode.

    There is no functionality loss as by using special IOCTLs device can
    still be programmed to "default" transfer modes (it is only useful for
    debugging/testing purposes anyway).

    * Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was
    previously used by few host drivers to program the controller to PIO0
    timings for "default" transfer mode == 0x01 (although some host drivers
    would program invalid PIO timings instead).

    * Cleanup ide_set_xfer_rate() and add BUG_ON().

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

    Bartlomiej Zolnierkiewicz