01 Oct, 2006

8 commits

  • All on stack DECLARE_COMPLETIONs should be replaced by:
    DECLARE_COMPLETION_ONSTACK

    Signed-off-by: Peter Zijlstra
    Acked-by: Ingo Molnar
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Mirrors the drivers/ata version, hold a reference to the host bridge while we
    are doing setup.

    Signed-off-by: Alan Cox
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • As we don't support hotplug we end up leaking an isa_dev reference which if
    unload was ever added we would drop at the end of unloading. This is fine
    because we do genuinely need the isa_dev pointer until unload.

    Signed-off-by: Alan Cox
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Simple conversion

    Signed-off-by: Alan Cox
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Make it possible to disable the block layer. Not all embedded devices require
    it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
    the block layer to be present.

    This patch does the following:

    (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
    support.

    (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
    an item that uses the block layer. This includes:

    (*) Block I/O tracing.

    (*) Disk partition code.

    (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.

    (*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
    block layer to do scheduling. Some drivers that use SCSI facilities -
    such as USB storage - end up disabled indirectly from this.

    (*) Various block-based device drivers, such as IDE and the old CDROM
    drivers.

    (*) MTD blockdev handling and FTL.

    (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
    taking a leaf out of JFFS2's book.

    (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
    linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
    however, still used in places, and so is still available.

    (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
    parts of linux/fs.h.

    (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.

    (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.

    (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
    is not enabled.

    (*) fs/no-block.c is created to hold out-of-line stubs and things that are
    required when CONFIG_BLOCK is not set:

    (*) Default blockdev file operations (to give error ENODEV on opening).

    (*) Makes some /proc changes:

    (*) /proc/devices does not list any blockdevs.

    (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.

    (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.

    (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
    given command other than Q_SYNC or if a special device is specified.

    (*) In init/do_mounts.c, no reference is made to the blockdev routines if
    CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.

    (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
    error ENOSYS by way of cond_syscall if so).

    (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
    CONFIG_BLOCK is not set, since they can't then happen.

    Signed-Off-By: David Howells
    Signed-off-by: Jens Axboe

    David Howells
     
  • After Christophs SCSI change, the only usage left is RQ_ACTIVE
    and RQ_INACTIVE. The block layer sets RQ_INACTIVE right before freeing
    the request, so any check for RQ_INACTIVE in a driver is a bug and
    indicates use-after-free.

    So kill/clean the remaining users, straight forward.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • As the comments indicates in blkdev.h, we can fold it into ->end_io_data
    usage as that is really what ->waiting is. Fixup the users of
    blk_end_sync_rq().

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Right now ->flags is a bit of a mess: some are request types, and
    others are just modifiers. Clean this up by splitting it into
    ->cmd_type and ->cmd_flags. This allows introduction of generic
    Linux block message types, useful for sending generic Linux commands
    to block devices.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

30 Sep, 2006

1 commit


27 Sep, 2006

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (47 commits)
    Driver core: Don't call put methods while holding a spinlock
    Driver core: Remove unneeded routines from driver core
    Driver core: Fix potential deadlock in driver core
    PCI: enable driver multi-threaded probe
    Driver Core: add ability for drivers to do a threaded probe
    sysfs: add proper sysfs_init() prototype
    drivers/base: check errors
    drivers/base: Platform notify needs to occur before drivers attach to the device
    v4l-dev2: handle __must_check
    add CONFIG_ENABLE_MUST_CHECK
    add __must_check to device management code
    Driver core: fixed add_bind_files() definition
    Driver core: fix comments in drivers/base/power/resume.c
    sysfs_remove_bin_file: no return value, dump_stack on error
    kobject: must_check fixes
    Driver core: add ability for devices to create and remove bin files
    Class: add support for class interfaces for devices
    Driver core: create devices/virtual/ tree
    Driver core: add device_rename function
    Driver core: add ability for classes to handle devices properly
    ...

    Linus Torvalds
     

26 Sep, 2006

3 commits

  • The third argument of au1xxx_dbdma_chan_alloc's callback function is not
    used anywhere.

    Signed-off-by: Ralf Baechle
    Cc: David Howells
    Cc: Russell King
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Convert some framework code to handle the new PRETHAW message.

    - IDE just treats it like a FREEZE.

    - The pci_choose_state() thingie still doesn't use PCI_D0 when it gets a
    FREEZE (and now PRETHAW) event, which seems rather buglike but wasn't
    something to change with this patch.

    Signed-off-by: David Brownell
    Cc: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Small driver suspend() fixes in preparation for the PRETHAW events:

    - Only compare message events for equality against PM_EVENT_* codes;
    not against integers, or using greater/less-than comparisons.
    (PM_EVENT_* should really become a __bitwise thing.)

    - Explicitly test for SUSPEND events (rather than not-something-else)
    before suspending devices.

    - Removes more of the confusion between a pm_message_t (wraps event code)
    and a "state" ... suspend() originally took a target system state.

    These updates are correct and appropriate even without new PM_EVENT codes.

    benh: "I think in the Mesh case, we should handle the freeze case as well or
    we might get wild DMA."

    Signed-off-by: David Brownell
    Acked-by: Pavel Machek
    Cc: Greg KH
    Cc: Paul Mackerras
    Acked-by: Benjamin Herrenschmidt
    Cc: Mauro Carvalho Chehab
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     

22 Sep, 2006

1 commit


14 Sep, 2006

1 commit


13 Sep, 2006

1 commit

  • Configuration bits are not set properly for DMA on some chipset revisions.
    It has already been corrected for M5229 (rev c7) but not for M5229 (rev
    c8). This leads to the bug described at
    http://bugzilla.kernel.org/show_bug.cgi?id=5786 (lost interrupt + ide bus
    hangs).

    Signed-off-by: Michael De Backer
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael De Backer
     

11 Sep, 2006

1 commit

  • There are two changes here. The first reverses the broken PCI_DEVICE
    conversion back to the old format. The second adds a missing PCI ID so
    you can actually boot 2.6.18 on 2 month old VIA motherboards (right now
    only 2.6.18-mm works).

    CC'd to Jeff to check the PCI ident but its a) in several distro kernels
    and b) in 2.6.18-mm [twice ??]

    Signed-off-by: Alan Cox
    Cc: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Alan Cox
     

09 Sep, 2006

2 commits


02 Sep, 2006

1 commit

  • Fix some bugs in the patch that converted the IOC4 driver from port IO ops to
    memio ops.

    http://marc.theaimsgroup.com/?l=linux-ide&m=114895892231438&w=2

    Problems fixed are:
    - Call to default_hwif_mmiops() was not being done until _after_
    first IO operation, resulting in the first IO operation being
    done as a port IO op, instead of memio.
    - request_region() calls needed to be request_mem_region()
    - Incomplete error case handling.
    - Non-usage of ioremap() and __iomem.

    Signed-off-by: John Keller
    Signed-off-by: Jeremy Higdon
    Cc: Alan Cox
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Keller
     

31 Aug, 2006

2 commits

  • Paul Mackerras
     
  • The following change from -mm is important to 2.6.18 (actually to 2.6.17
    but its too late for that). This was contributed over three months ago
    by VIA to Bartlomiej and nothing happened. As a result the new chipset
    is now out and Linux won't run on it. By the time 2.6.18 is finalised
    this will be the defacto standard VIA chipset so support would be a good
    plan.

    Tested in -mm for a while, its essentially a PCI ident update but for
    the bridge chip because VIA do things in weird ways.

    Signed-off-by: Linus Torvalds

    Alan Cox
     

10 Aug, 2006

1 commit


01 Aug, 2006

4 commits

  • Paul Mackerras
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Minor comment fix for misc_64.S
    [POWERPC] Use H_CEDE on non-SMT
    [POWERPC] force 64bit mode in fwnmi handlers to workaround firmware bugs
    [POWERPC] PMAC_APM_EMU should depend on ADB_PMU
    [POWERPC] Fix new interrupt code (MPIC detection)
    [POWERPC] Fix new interrupt code (MPIC endianness)
    [POWERPC] Add cpufreq support for Xserve G5
    [POWERPC] Xserve G5 thermal control fixes
    [POWERPC] Fix mem= handling when the memory limit is > RMO size
    [POWERPC] More offb/bootx fixes
    [POWERPC] Fix legacy_serial.c error handling on 32 bits
    [POWERPC] Fix default clock for udbg_16550
    [POWERPC] Fix non-MPIC CHRPs with CONFIG_SMP set
    [POWERPC] Fix 32 bits warning in prom_init.c
    [POWERPC] Workaround Pegasos incorrect ISA "ranges"
    [POWERPC] fix up front-LED Kconfig

    Linus Torvalds
     
  • The SGI IOC4 IDE device always shares an interrupt with other devices which
    are part of IOC4. As such, IDEPCI_SHARE_IRQ should always be enabled when
    BLK_DEV_SGIIOC4 is enabled.

    Signed-off-by: Brent Casavant
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brent Casavant
     
  • When resuming from suspend-to-RAM, the NMI watchdog detects a lockup in
    ide_wait_not_busy. Here's a screenshot of the trace taken by a digital
    camera: http://www.uamt.feec.vutbr.cz/rizeni/pom/DSC03510-2.JPG

    Let's touch the NMI watchdog in ide_wait_not_busy. The system then resumes
    correctly from STR.

    [akpm@osdl.org: modular build fix]
    Signed-off-by: Michal Schmidt
    Acked-by: Alan Cox
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Schmidt
     

31 Jul, 2006

1 commit

  • Now that get_property() returns a void *, there's no need to cast its
    return value. Also, treat the return value as const, so we can
    constify get_property later.

    powermac platform & macintosh driver changes.

    Built for pmac32_defconfig, g5_defconfig

    Signed-off-by: Jeremy Kerr
    Signed-off-by: Paul Mackerras

    Jeremy Kerr
     

28 Jul, 2006

3 commits


25 Jul, 2006

1 commit

  • This patch fixes the front-LED Kconfig issues I introduced while
    creating it. Apparently having a dependency isn't enough to have the
    select not evaluated or something like that.

    The patch also changes the default configuration for pmac32 select the
    default for the LED to be the IDE trigger. While I was at it, I
    completely updated the defconfig and also added snd-aoa to it.

    Signed-off-by: Johannes Berg
    Signed-off-by: Paul Mackerras

    Johannes Berg
     

13 Jul, 2006

2 commits

  • … space is not available"

    This reverts commit 5040cb8b7e61b7a03e8837920b9eb2c839bb1947.

    It breaks previously working ide-cs PIO configurations, causing problems
    like

    ide2: I/O resource 0xF883200E-0xF883200E not free.
    ide2: ports already in use, skipping probe

    rather than a working kernel.

    Cc: Thomas Kleffel <tk@maintech.de>
    Cc: Dominik Brodowski <linux@dominikbrodowski.net>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

    Linus Torvalds
     
  • Prior to 2.6.18rc1 you could install with devices on a JMicron chipset
    using the "all-generic-ide" option. As of this kernel the AHCI driver
    grabs the controller and rams it into AHCI mode losing the PATA ports
    and making CD drives and the like vanish. The all-generic-ide option
    fails because the AHCI driver grabbed the PCI device and reconfigured
    it.

    To fix this three things are needed.

    #1 We must put the chip into dual function mode
    #2 The AHCI driver must grab only function 0 (already in your rc1 tree)
    #3 Something must grab the PATA ports

    The attached patch is the minimal risk edition of this. It puts the chip
    into dual function mode so that AHCI will grab the SATA ports without
    losing the PATA ports. To keep the risk as low as possible the third
    patch adds the PCI identifiers for the PATA port and the FN check to the
    ide-generic driver. There is a more featured jmicron driver on its way
    but that adds risk and the ide-generic support is sufficient to install
    and run a system.

    The actual chip setup done by the quirk is the precise setup recommended
    by the vendor.

    (The JMB368 appears only in the ide-generic entry as it has no AHCI so
    does not need the quirk)

    Signed-off-by: Alan Cox
    Acked-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Alan Cox
     

07 Jul, 2006

1 commit


04 Jul, 2006

2 commits

  • lockdep needs to have the waitqueue lock initialized for on-stack waitqueues
    implicitly initialized by DECLARE_COMPLETION(). Annotate on-stack completions
    accordingly.

    Has no effect on non-lockdep kernels.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Make use of local_irq_enable_in_hardirq() API to annotate places that enable
    hardirqs in hardirq context.

    Has no effect on non-lockdep kernels.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

03 Jul, 2006

1 commit


02 Jul, 2006

1 commit


01 Jul, 2006

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    Remove obsolete #include
    remove obsolete swsusp_encrypt
    arch/arm26/Kconfig typos
    Documentation/IPMI typos
    Kconfig: Typos in net/sched/Kconfig
    v9fs: do not include linux/version.h
    Documentation/DocBook/mtdnand.tmpl: typo fixes
    typo fixes: specfic -> specific
    typo fixes in Documentation/networking/pktgen.txt
    typo fixes: occuring -> occurring
    typo fixes: infomation -> information
    typo fixes: disadvantadge -> disadvantage
    typo fixes: aquire -> acquire
    typo fixes: mecanism -> mechanism
    typo fixes: bandwith -> bandwidth
    fix a typo in the RTC_CLASS help text
    smb is no longer maintained

    Manually merged trivial conflict in arch/um/kernel/vmlinux.lds.S

    Linus Torvalds