11 Jan, 2012

3 commits

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (31 commits)
    pinctrl: remove unnecessary max pin number
    pinctrl: correct a offset while enumerating pins
    pinctrl: some typo fixes
    pinctrl: rename U300 and SIRF pin controllers
    pinctrl: pass name instead of device to pin_config_*
    pinctrl: add "struct seq_file;" to pinconf.h
    pinctrl: conjure names for unnamed pins
    pinctrl: add a group-specific hog macro
    pinctrl: don't create a device for each pin controller
    arm/u300: don't use PINMUX_MAP_PRIMARY*
    pinctrl: implement PINMUX_MAP_SYS_HOG
    pinctrl: add a pin config interface
    pinctrl/coh901: driver to request its pins
    pinctrl: u300-pinmux: register proper GPIO ranges
    pinctrl: move the U300 GPIO driver to pinctrl
    ARM: u300: localize GPIO assignments
    pinctrl: make it possible to add multiple maps
    pinctrl: make a copy of pinmux map
    pinctrl: GPIO direction support for muxing
    pinctrl: print pin range in GPIO range debugs
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://github.com/jgarzik/libata-dev:
    ahci: support the STA2X11 I/O Hub
    pata_bf54x: fix BMIDE status register emulation
    ata: add ata port hibernate callbacks
    ata: update ata port's runtime status during system resume
    [SCSI] runtime resume parent for child's system-resume
    ahci: platform support for suspend/resume
    libata-core: kill duplicate statement in ata_do_set_mode()
    pata_of_platform: remove direct dependency on OF_IRQ
    SATA/PATA: convert drivers/ata/* to use module_platform_driver()
    pata_cs5536: forward port changes from cs5536
    libata-sff: use ATAPI_{COD|IO}
    ata: add ata port runtime PM callbacks
    ata: add ata port system PM callbacks
    [SCSI] sd: check runtime PM status in sd_shutdown
    [SCSI] check runtime PM status in system PM
    [SCSI] add flag to skip the runtime PM calls on the host
    ata: make ata port as parent device of scsi host
    ahci: start engine only during soft/hard resets

    Linus Torvalds
     
  • * 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (37 commits)
    xen/pciback: Expand the warning message to include domain id.
    xen/pciback: Fix "device has been assigned to X domain!" warning
    xen/pciback: Move the PCI_DEV_FLAGS_ASSIGNED ops to the "[un|]bind"
    xen/xenbus: don't reimplement kvasprintf via a fixed size buffer
    xenbus: maximum buffer size is XENSTORE_PAYLOAD_MAX
    xen/xenbus: Reject replies with payload > XENSTORE_PAYLOAD_MAX.
    Xen: consolidate and simplify struct xenbus_driver instantiation
    xen-gntalloc: introduce missing kfree
    xen/xenbus: Fix compile error - missing header for xen_initial_domain()
    xen/netback: Enable netback on HVM guests
    xen/grant-table: Support mappings required by blkback
    xenbus: Use grant-table wrapper functions
    xenbus: Support HVM backends
    xen/xenbus-frontend: Fix compile error with randconfig
    xen/xenbus-frontend: Make error message more clear
    xen/privcmd: Remove unused support for arch specific privcmp mmap
    xen: Add xenbus_backend device
    xen: Add xenbus device driver
    xen: Add privcmd device driver
    xen/gntalloc: fix reference counts on multi-page mappings
    ...

    Linus Torvalds
     

10 Jan, 2012

20 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
    sparc32: remove unused file: include/asm/pgtsun4.h
    sparc32: fix PAGE_SIZE definition
    sparc32: enable different preemptions models
    sparc32: support atomic64_t
    apbuart: fix section mismatch warning
    sparc32: drop useless preprocessor conditional in atomic_32.h
    sparc32: drop unused atomic24 support

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    igmp: Avoid zero delay when receiving odd mixture of IGMP queries
    netdev: make net_device_ops const
    bcm63xx: make ethtool_ops const
    usbnet: make ethtool_ops const
    net: Fix build with INET disabled.
    net: introduce netif_addr_lock_nested() and call if when appropriate
    net: correct lock name in dev_[uc/mc]_sync documentations.
    net: sk_update_clone is only used in net/core/sock.c
    8139cp: fix missing napi_gro_flush.
    pktgen: set correct max and min in pktgen_setup_inject()
    smsc911x: Unconditionally include linux/smscphy.h in smsc911x.h
    asix: fix infinite loop in rx_fixup()
    net: Default UDP and UNIX diag to 'n'.
    r6040: fix typo in use of MCR0 register bits
    net: fix sock_clone reference mismatch with tcp memcontrol

    Linus Torvalds
     
  • clock management changes for i.MX

    Another simple series related to clock management, this time only for
    imx.

    * tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: mxs: select HAVE_CLK_PREPARE for clock
    clk: add config option HAVE_CLK_PREPARE into Kconfig
    ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
    video: mxsfb: convert to clk_prepare/clk_unprepare
    serial: mxs-auart: convert to clk_prepare/clk_unprepare
    net: flexcan: convert to clk_prepare/clk_unprepare
    mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
    mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
    dma: mxs-dma: convert to clk_prepare/clk_unprepare
    net: fec: add clk_prepare/clk_unprepare
    ARM: mxs: convert platform code to clk_prepare/clk_unprepare
    clk: add helper functions clk_prepare_enable and clk_disable_unprepare

    Fix up trivial conflicts in drivers/net/ethernet/freescale/fec.c due to
    commit 0ebafefcaa7a ("net: fec: add clk_prepare/clk_unprepare") clashing
    trivially with commit e163cc97f9ac ("net/fec: fix the .remove code").

    Linus Torvalds
     
  • power management changes for omap and imx

    A significant part of the changes for these two platforms went into
    power management, so they are split out into a separate branch.

    * tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
    ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
    ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
    ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
    ARM: imx6q: build pm code only when CONFIG_PM selected
    ARM: mx5: use generic irq chip pm interface for pm functions on
    ARM: omap: pass minimal SoC/board data for UART from dt
    arm/dts: Add minimal device tree support for omap2420 and omap2430
    omap-serial: Add minimal device tree support
    omap-serial: Use default clock speed (48Mhz) if not specified
    omap-serial: Get rid of all pdev->id usage
    ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
    ARM: OMAP4: PRM: use PRCM interrupt handler
    ARM: OMAP3: pm: use prcm chain handler
    ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
    ARM: OMAP2+: mux: add support for PAD wakeup interrupts
    ARM: OMAP: PRCM: add suspend prepare / finish support
    ARM: OMAP: PRCM: add support for chain interrupt handler
    ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
    ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
    ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
    ...

    Linus Torvalds
     
  • Driver specific changes

    Again, a lot of platforms have changes in here: pxa, samsung, omap,
    at91, imx, ...

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    ARM: sa1100: clean up of the clock support
    ARM: pxa: add dummy clock for sa1100-rtc
    RTC: sa1100: support sa1100, pxa and mmp soc families
    RTC: sa1100: remove redundant code of setting alarm
    RTC: sa1100: Clean out ost register
    Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
    pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
    ARM: EXYNOS: Modified files for SPI consolidation work
    ARM: S5P64X0: Enable SDHCI support
    ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
    ARM: S5P64X0: Add HSMMC setup for host Controller
    ARM: EXYNOS: Add USB OHCI support to ORIGEN board
    USB: Add Samsung Exynos OHCI diver
    ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
    ARM: EXYNOS: Add USB OHCI device
    net: macb: fix build break with !CONFIG_OF
    i2c: tegra: Support DVC controller in device tree
    i2c: tegra: Add __devinit/exit to probe/remove
    net/at91_ether: use gpio_is_valid for phy IRQ line
    ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
    ...

    Linus Torvalds
     
  • New feature development

    This adds support for new features, and contains stuff from most
    platforms. A number of these patches could have fit into other
    branches, too, but were small enough not to cause too much
    confusion here.

    * tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
    mfd/db8500-prcmu: remove support for early silicon revisions
    ARM: ux500: fix the smp_twd clock calculation
    ARM: ux500: remove support for early silicon revisions
    ARM: ux500: update register files
    ARM: ux500: register DB5500 PMU dynamically
    ARM: ux500: update ASIC detection for U5500
    ARM: ux500: support DB8520
    ARM: picoxcell: implement watchdog restart
    ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
    ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
    ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
    ARM: Orion: Remove address map info from all platform data structures
    ARM: Orion: Get address map from plat-orion instead of via platform_data
    ARM: Orion: mbus_dram_info consolidation
    ARM: Orion: Consolidate the address map setup
    ARM: Kirkwood: Add configuration for MPP12 as GPIO
    ARM: Kirkwood: Recognize A1 revision of 6282 chip
    ARM: ux500: update the MOP500 GPIO assignments
    ...

    Linus Torvalds
     
  • Cleanups for the Samsung platforms

    Various cleanup changes that the device driver changes are built upon.
    Since the samsung cleanups depend on the device tree series, which
    depends on the first set of cleanups for tegra.

    * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: EXYNOS: Use gpio_request_one
    ARM: S5PV210: Use gpio_request_one
    ARM: S3C64XX: Modified according to SPI consolidation work
    ARM: S5PV210: Modified files for SPI consolidation work
    ARM: S5P64X0: Modified files for SPI consolidation work
    ARM: S5PC100: Modified files for SPI consolidation work
    ARM: S3C64XX: Modified files for SPI consolidation work
    ARM: SAMSUNG: Consolidation of SPI platform devices to plat-samsung
    ARM: SAMSUNG: Remove SPI bus clocks from platform data
    ARM: S5PV210: Add SPI clkdev support
    ARM: S5P64X0: Add SPI clkdev support
    ARM: S5PC100: Add SPI clkdev support
    ARM: S3C64XX: Add SPI clkdev support
    spi/s3c64xx: Use bus clocks created using clkdev
    mmc: sdhci-s3c: Use generic clock names for sdhci bus clock options
    ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names
    ARM: SAMSUNG: Remove SDHCI bus clocks from platform data
    ARM: SAMSUNG: Use kmemdup rather than duplicating its implementation
    ARM: EXYNOS: remove exynos4_scu_enable()

    Linus Torvalds
     
  • Device tree conversions for samsung and tegra

    Both platforms had some initial device tree support, but this adds
    much more to actually make it usable.

    * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
    ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
    ARM: EXYNOS: Add Exynos4 device tree enabled board file
    rtc: rtc-s3c: Add device tree support
    input: samsung-keypad: Add device tree support
    ARM: S5PV210: Modify platform data for pl330 driver
    ARM: S5PC100: Modify platform data for pl330 driver
    ARM: S5P64x0: Modify platform data for pl330 driver
    ARM: EXYNOS: Add a alias for pdma clocks
    ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
    ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
    DMA: PL330: Add device tree support
    ARM: EXYNOS: Modify platform data for pl330 driver
    DMA: PL330: Infer transfer direction from transfer request instead of platform data
    DMA: PL330: move filter function into driver
    serial: samsung: Fix build for non-Exynos4210 devices
    serial: samsung: add device tree support
    serial: samsung: merge probe() function from all SoC specific extensions
    serial: samsung: merge all SoC specific port reset functions
    ARM: SAMSUNG: register uart clocks to clock lookup list
    serial: samsung: remove all uses of get_clksrc and set_clksrc
    ...

    Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and
    drivers/tty/serial/Kconfig both due to just adding code close to
    changes.

    Linus Torvalds
     
  • Cleanups on various subarchitectures

    Cleanup patches for various ARM platforms and some of their associated
    drivers, the bulk of these is for mach-91.

    Arnd ended up pulling in the restart branch from Russell in order to
    fix up some simple but annoying merge conflicts.

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    arm/at91: fix build of stamp9g20
    ARM: u300: delete memory.h
    MAINTAINERS: add maintainer entry for Picochip picoxcell
    ARM: picoxcell: move io mappings to common.c
    ARM: picoxcell: don't reserve irq_descs
    ARM: picoxcell: remove mach/memory.h
    ARM: at91: delete the pcontrol_g20_defconfig
    arm/tegra: Remove code that's ifndef CONFIG_ARM_GIC
    arm/tegra: remove unused defines
    arm/tegra: fix variable formatting in makefile
    ARM: davinci: vpif: move code to driver core header from platform
    ARM: at91/gpio: fix display of number of irq setuped
    ARM: at91/gpio: drop PIN_BASE
    ARM: at91/udc: use gpio_is_valid to check the gpio
    ARM: at91/ohci: use gpio_is_valid to check the gpio
    ARM: at91/nand: use gpio_is_valid to check the gpio
    ARM: at91/mmc: use gpio_is_valid to check the gpio
    ARM: at91/ide: use gpio_is_valid to check the gpio
    ARM: at91/pata: use gpio_is_valid to check the gpio
    ARM: at91/soc: use gpio_is_valid to check the gpio
    ...

    Linus Torvalds
     
  • More drivers where net_device_ops should be const.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • The ethtool_ops table of function pointers should be const.
    Fix all the usb network drivers.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (466 commits)
    net/hyperv: Add support for jumbo frame up to 64KB
    net/hyperv: Add NETVSP protocol version negotiation
    net/hyperv: Remove unnecessary kmap_atomic in netvsc driver
    staging/rtl8192e: Register against lib80211
    staging/rtl8192e: Convert to lib80211_crypt_info
    staging/rtl8192e: Convert to lib80211_crypt_data and lib80211_crypt_ops
    staging/rtl8192e: Add lib80211.h to rtllib.h
    staging/mei: add watchdog device registration wrappers
    drm/omap: GEM, deal with cache
    staging: vt6656: int.c, int.h: Change return of function to void
    staging: usbip: removed unused definitions from header
    staging: usbip: removed dead code from receive function
    staging:iio: Drop {mark,unmark}_in_use callbacks
    staging:iio: Drop buffer mark_param_change callback
    staging:iio: Drop the unused buffer enable() and is_enabled() callbacks
    staging:iio: Drop buffer busy flag
    staging:iio: Make sure a device is only opened once at a time
    staging:iio: Disallow modifying buffer size when buffer is enabled
    staging:iio: Disallow changing scan elements in all buffered modes
    staging:iio: Use iio_buffer_enabled instead of open coding it
    ...

    Fix up conflict in drivers/staging/iio/adc/ad799x_core.c (removal of
    module_init due to using module_i2c_driver() helper, next to removal of
    MODULE_ALIAS due to using MODULE_DEVICE_TABLE instead).

    Linus Torvalds
     
  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (232 commits)
    USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c
    xhci: Clean up 32-bit build warnings.
    USB: update documentation for usbmon
    usb: usb-storage doesn't support dynamic id currently, the patch disables the feature to fix an oops
    drivers/usb/class/cdc-acm.c: clear dangling pointer
    drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree
    drivers/usb/host/isp1760-if.c: introduce missing kfree
    usb: option: add ZD Incorporated HSPA modem
    usb: ch9: fix up MaxStreams helper
    USB: usb-skeleton.c: cleanup open_count
    USB: usb-skeleton.c: fix open/disconnect race
    xhci: Properly handle COMP_2ND_BW_ERR
    USB: remove dead code from suspend/resume path
    USB: add quirk for another camera
    drivers: usb: wusbcore: Fix dependency for USB_WUSB
    xhci: Better debugging for critical host errors.
    xhci: Be less verbose during URB cancellation.
    xhci: Remove debugging about ring structure allocation.
    xhci: Remove debugging about toggling cycle bits.
    xhci: Remove debugging for individual transfers.
    ...

    Linus Torvalds
     
  • * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (65 commits)
    tty: serial: imx: move del_timer_sync() to avoid potential deadlock
    imx: add polled io uart methods
    imx: Add save/restore functions for UART control regs
    serial/imx: let probing fail for the dt case without a valid alias
    serial/imx: propagate error from of_alias_get_id instead of using -ENODEV
    tty: serial: imx: Allow UART to be a source for wakeup
    serial: driver for m32 arch should not have DEC alpha errata
    serial/documentation: fix documented name of DCD cpp symbol
    atmel_serial: fix spinlock lockup in RS485 code
    tty: Fix memory leak in virtual console when enable unicode translation
    serial: use DIV_ROUND_CLOSEST instead of open coding it
    serial: add support for 400 and 800 v3 series Titan cards
    serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS.
    serial: bfin-uart: Enable hardware automatic CTS only when CTS pin is available.
    serial: make FSL errata depend on 8250_CONSOLE, not just 8250
    serial: add irq handler for Freescale 16550 errata.
    serial: manually inline serial8250_handle_port
    serial: make 8250 timeout use the specified IRQ handler
    serial: export the key functions for an 8250 IRQ handler
    serial: clean up parameter passing for 8250 Rx IRQ handling
    ...

    Linus Torvalds
     
  • * 'char-misc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    isl29020: Remove a redundant semi-colon from return statement
    BMP085: Remove redundant semi-colon from return statement
    drivers:misc: ti-st: DEBUG uart, baud rate mods
    drivers:misc: ti-st: flush UART upon fw failure
    drivers:misc: ti-st: protect registrations
    char_dev.c: fix up some whitespace errors
    s390: tape_class.h: remove kobj_map.h inclusion
    misc: ad525x_dpot: Add support for SPI module device table matching

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    ext[34]: avoid i_nlink warnings triggered by drop_nlink/inc_nlink kludge in symlink()
    exofs: oops after late failure in mount
    devpts: fix double-free on mount failure
    ... and the same for gadgetfs
    functionfs: unfuck failure exits on mount

    Linus Torvalds
     
  • Conflicts:
    arch/arm/mach-mxs/include/mach/common.h

    Pull in previous samsung conflict merges and do a trivial
    merge of an mxs double-add conflict.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (31 commits)
    [S390] disassembler: mark exception causing instructions
    [S390] Enable exception traces by default
    [S390] return address of compat signals
    [S390] sysctl: get rid of dead declaration
    [S390] dasd: fix fixpoint divide exception in define_extent
    [S390] dasd: add sanity check to detect path connection error
    [S390] qdio: fix kernel panic for zfcp 31-bit
    [S390] Add s390x description to Documentation/kdump/kdump.txt
    [S390] Add VMCOREINFO_SYMBOL(high_memory) to vmcoreinfo
    [S390] dasd: fix expiration handling for recovery requests
    [S390] outstanding interrupts vs. smp_send_stop
    [S390] ipc: call generic sys_ipc demultiplexer
    [S390] zcrypt: Fix error return codes.
    [S390] zcrypt: Rework length parameter checking.
    [S390] cleanup trap handling
    [S390] Remove Kerntypes leftovers
    [S390] topology: increase poll frequency if change is anticipated
    [S390] entry[64].S improvements
    [S390] make arch/s390 subdirectories depend on config option
    [S390] kvm: move cmf host id constant out of lowcore
    ...

    Fix up conflicts in arch/s390/kernel/{smp.c,topology.c} due to the
    sysdev removal clashing with "topology: get rid of ifdefs" which moved
    some of that code around.

    Linus Torvalds
     
  • Conflicts:
    arch/arm/mach-s3c64xx/Makefile
    arch/arm/mach-s5pc100/Makefile
    arch/arm/mach-s5pv210/Makefile

    Pull in previously resolved conflicts:

    The Makefiles were reorganized in the "rmk/restart" series and modified
    in the "samsung/cleanup series". This also pulls in the other conflict
    resolutions from the restart series against the samsung/dt series.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

09 Jan, 2012

17 commits

  • When a PCI device is transferred to another domain and it is still
    in usage (from the internal perspective), mention which other
    domain is using it to aid in debugging.

    [v2: Truncate the verbose message per Jan Beulich suggestion]
    [v3: Suggestions from Ian Campbell on the wording]
    Signed-off-by: Konrad Rzeszutek Wilk
    Acked-by: Jan Beulich

    Konrad Rzeszutek Wilk
     
  • The driver uses __napi_complete and napi_gro_receive. Without it, the
    driver hits the BUG_ON(n->gro_list) assertion hard in __napi_complete.

    Signed-off-by: Francois Romieu
    Tested-by: Marin Glibic
    Signed-off-by: David S. Miller

    françois romieu
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • * if you do dput() of root dentry, do *not* follow that with iput() of root
    inode.
    * while we are at it, don't do that dput() at all - you are leaving the pointer
    in ->s_root and your ->kill_sb() will be very unhappy with that. It will do
    proper dput(), though, so the easiest way is to leave that to it entirely.
    * freeing ->s_fs_info is also best left to ->kill_sb() (which will do it
    anyway), especially since we leave the pointer in place.
    * that xchg() in ->kill_sb() is not a bug per se, but it's a plain and simple
    masturbation with fewer excuses than Onan had...

    Signed-off-by: Al Viro

    Al Viro
     
  • The AHCI controller found in the STA2X11 chip uses BAR number 0
    instead of 5. Also, the chip's fixup code sets a special DMA mask
    for all of its PCI functions, and the mask must be preserved here.

    Signed-off-by: Alessandro Rubini
    Acked-by: Giancarlo Asnaghi
    Cc: Alan Cox
    Signed-off-by: Jeff Garzik

    Alessandro Rubini
     
  • The author of this driver clearly wasn't familiar with the BMIDE specification
    (also known as SFF-8038i) when he implemented the bmdma_status() method: first,
    the interrupt bit of the BMIDE status register corresponds to nothing else but
    INTRQ signal (ATAPI_DEV_INT here); second, the error bit is only set if the
    controller encounters issue doing the bus master transfers, not on the IDE DMA
    burst termination interrupts like here (moreover, setting the error bit doesn't
    cause an interrupt). We now need to disable all those unused interrupts...

    (The only thing I couldn't figure out is how to flush the FIFO to memory once
    the interrupt happens as required by the mentioned spec.)

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Sonic Zhang
    Signed-off-by: Jeff Garzik

    Sergei Shtylyov
     
  • Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • The ata port is brought back to full power state during system resume.
    So its runtime PM status will have to be updated to reflect
    the actual post-system sleep status.

    This also fixes below warning during system suspend/resume.

    WARNING: at /work/linux/drivers/ata/libata-eh.c:4034
    ata_scsi_port_error_handler+0x89/0x557()

    4034 WARN_ON(!(ap->pflags & ATA_PFLAG_SUSPENDED));

    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • [Patch description from Alan Stern]

    If a child device was runtime-suspended when a system suspend began,
    then there will be nothing to prevent its parent from
    runtime-suspending as soon as it is woken up during the system resume.
    Then when the time comes to resume the child, the resume will fail
    because the parent is already back at low power.

    On the other hand, there are some devices which should remain at low
    power across an entire suspend-resume cycle. The details depend on the
    device and the platform.

    This suggests that the PM core is not the right place to solve the
    problem. One possible solution is for the subsystem or device driver
    to call pm_runtime_get_sync(dev->parent) at the start of the
    system-resume procedure and pm_runtime_put_sync(dev->parent) at the
    end.

    Acked-by: Alan Stern
    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • Add platform hooks for custom suspend() and resume() functions. The
    generic suspend/resume code in drivers/ata/ahci_platform.c is adapted
    from the PCI version in drivers/ata/ahci.c.

    Signed-off-by: Brian Norris
    Signed-off-by: Jeff Garzik

    Brian Norris
     
  • Commit b3a706014e56b1356e7b275fd25b833c63175bf0 (libata: Add a
    drivers/ide style DMA disable) neglected to remove the line in
    ata_do_set_mode() it has obviously made useless/duplicated. Do this
    now, and make a line added back then wrapped properly...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Jeff Garzik

    Sergei Shtylyov
     
  • CONFIG_OF_IRQ is not available on some platforms and using of_irq_*
    breaks the build. Since resources are already populated in the platform
    device, get the irq from there instead.

    Reported-by: David S. Miller
    Signed-off-by: Rob Herring
    Signed-off-by: Jeff Garzik

    Rob Herring
     
  • This patch converts the drivers in drivers/ata/* to use the
    module_platform_driver() macro which makes the code smaller and a bit
    simpler.

    Cc: Viresh Kumar
    Cc: Jeff Garzik
    Cc: Arnaud Patard
    Cc: Alessandro Zummo
    Cc: Sylvain Munaut
    Cc: Anton Vorontsov
    Cc: Marek Vasut
    Cc: Florian Fainelli
    Cc: Mark Miesfeld
    Cc: Ashish Kalra
    Cc: Paul Mundt
    Signed-off-by: Axel Lin
    Signed-off-by: Jeff Garzik

    Axel Lin
     
  • * Fix cable detection to also account for the slave device cable bit.

    * Disable UDMA when programming MWDMA in cs5536_set_dmamode().

    * Don't change UDMA settings in cs5536_set_piomode().

    * Add cs5536_program_dtc() helper.

    * Cleanup and uninline cs5536_[read,write]() methods.

    Cc: Martin K. Petersen
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jeff Garzik

    Bartlomiej Zolnierkiewicz
     
  • atapi_pio_bytes() uses bare numbers for the ATAPI interrupt reason bits despite
    these are #define'd in .

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Jeff Garzik

    Sergei Shtylyov
     
  • Add ata port runtime suspend/resume/idle callbacks.
    Set ->eh_noresume to skip the runtime PM calls on scsi host
    in the error handler to avoid dead lock.

    Acked-by: Tejun Heo
    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • Change ata_host_request_pm to ata_port_request_pm which performs
    port suspend/resume.

    Add ata port type driver which implements port PM callbacks.

    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming