]> err.no Git - linux-2.6/log
linux-2.6
16 years agoibmvfc: Add support for collaborative memory overcommit
Brian King [Wed, 23 Jul 2008 18:35:48 +0000 (04:35 +1000)]
ibmvfc: Add support for collaborative memory overcommit

Adds support to the ibmvfc driver for collaborative memory overcommit.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agoibmvscsi: driver enablement for CMO
Robert Jennings [Wed, 23 Jul 2008 18:35:27 +0000 (04:35 +1000)]
ibmvscsi: driver enablement for CMO

Enable the driver to function in a Cooperative Memory Overcommitment (CMO)
environment.

The following changes are made to enable the driver for CMO:
 * DMA mapping errors will not result in error messages if entitlement has
   been exceeded and resources were not available.
 * The driver has a get_desired_dma function defined to function
   in a CMO environment. It will indicate how much IO memory it would like
   to function.

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked by: Brian King <brking@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Acked-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agoibmveth: enable driver for CMO
Robert Jennings [Wed, 23 Jul 2008 18:34:52 +0000 (04:34 +1000)]
ibmveth: enable driver for CMO

Enable ibmveth for Cooperative Memory Overcommitment (CMO).  For this driver
it means calculating a desired amount of IO memory based on the current MTU
and updating this value with the bus when MTU changes occur.  Because DMA
mappings can fail, we have added a bounce buffer for temporary cases where
the driver can not map IO memory for the buffer pool.

The following changes are made to enable the driver for CMO:
 * DMA mapping errors will not result in error messages if entitlement has
   been exceeded and resources were not available.
 * DMA mapping errors are handled gracefully, ibmveth_replenish_buffer_pool()
   is corrected to check the return from dma_map_single and fail gracefully.
 * The driver will have a get_desired_dma function defined to function
   in a CMO environment.
 * When the MTU is changed, the driver will update the device IO entitlement

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Santiago Leon <santil@us.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agoibmveth: Automatically enable larger rx buffer pools for larger mtu
Santiago Leon [Wed, 23 Jul 2008 18:34:23 +0000 (04:34 +1000)]
ibmveth: Automatically enable larger rx buffer pools for larger mtu

Activates larger rx buffer pools when the MTU is changed to a larger
value.  This patch de-activates the large rx buffer pools when the MTU
changes to a smaller value.

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Verify CMO memory entitlement updates with virtual I/O
Nathan Fontenot [Wed, 23 Jul 2008 18:31:52 +0000 (04:31 +1000)]
powerpc/pseries: Verify CMO memory entitlement updates with virtual I/O

Verify memory entitlement updates can be handled by vio.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: vio bus support for CMO
Robert Jennings [Wed, 23 Jul 2008 18:31:33 +0000 (04:31 +1000)]
powerpc/pseries: vio bus support for CMO

This is a large patch but the normal code path is not affected.  For
non-pSeries platforms the code is ifdef'ed out and for non-CMO enabled
pSeries systems this does not affect the normal code path.  Devices that
do not perform DMA operations do not need modification with this patch.
The function get_desired_dma was renamed from get_io_entitlement for
clarity.

Overview

Cooperative Memory Overcommitment (CMO) allows for a set of OS partitions
to be run with less RAM than the aggregate needs of the group of
partitions.  The firmware will balance memory between the partitions
and page in/out memory as needed.  Based on the number and type of IO
adpaters preset each partition is allocated an amount of memory for
DMA operations and this allocation will be guaranteed to the partition;
this is referred to as the partition's 'entitlement'.

Partitions running in a CMO environment can only have virtual IO devices
present.  The VIO bus layer will manage the IO entitlement for the system.
Accounting, at a system and per-device level, is tracked in the VIO bus
code and exposed via sysfs.  A set of dma_ops functions are added to
the bus to allow for this accounting.

Bus initialization

At initialization, the bus will calculate the minimum needs of the system
based on providing each device present with a standard minimum entitlement
along with a spare allocation for the bus to handle hotplug events.
If the minimum needs can not be met the system boot will be halted.

Device changes

The significant changes for devices while running under CMO are that the
devices must specify how much dedicated IO entitlement they desire and
must also handle DMA mapping errors that can occur due to constrained
IO memory.  The virtual IO drivers are modified to silence errors when
DMA mappings fail for CMO and handle these failures gracefully.

Each devices will be guaranteed a minimum entitlement that can always
be mapped.  Devices will specify how much entitlement they desire and
the VIO bus will attempt to provide for this.  Devices can change their
desired entitlement level at any point in time to address particular needs
(via vio_cmo_set_dev_desired()), not just at device probe time.

VIO bus changes

The system will have a particular entitlement level available from which
it can provide memory to the devices.  The bus defines two pools of memory
within this entitlement, the reserved and excess pools.  Each device is
provided with it's own entitlement no less than a system defined minimum
entitlement and no greater than what the device has specified as it's
desired entitlement.  The entitlement provided to devices comes from the
reserve pool.  The reserve pool can also contain a spare allocation as
large as the system defined minimum entitlement which is used for device
hotplug events.  Any entitlement not needed to fulfill the needs of a
reserve pool is placed in the excess pool.  Each device is guaranteed
that it can map up to it's entitled level; additional mapping are possible
as long as there is unmapped memory in the excess pool.

Bus probe

As the system starts, each device is given an entitlement equal only
to the system defined minimum entitlement.  The reserve pool is equal
to the sum of these entitlements, plus a spare allocation.  The VIO bus
also tracks the aggregate desired entitlement of all the devices.  If the
system desired entitlement is greater than the size of the reserve pool,
when devices unmap IO memory it will be reserved and a balance operation
will be scheduled for some time in the future.

Entitlement balancing

The balance function tries to fairly distribute entitlement between the
devices in the system with the goal of providing each device with it's
desired amount of entitlement.  Devices using more than what would be
ideal will have their entitled set-point adjusted; this will effectively
set a goal for lower IO memory usage as future mappings can fail and
deallocations will trigger a balance operation to distribute the newly
unmapped memory.  A fair distribution of entitlement can take several
balance operations to achieve.  Entitlement changes and device DLPAR
events will alter the state of CMO and will trigger balance operations.

Hotplug events

The VIO bus allows for changes in system entitlement at run-time via
'vio_cmo_entitlement_update()'.  When devices are added the hotplug
device event will be preceded by a system entitlement increase and this
is reversed when devices are removed.

The following changes are made that the VIO bus layer for CMO:
 * add IO memory accounting per device structure.
 * add IO memory entitlement query function to driver structure.
 * during vio bus probe, if CMO is enabled, check that driver has
   memory entitlement query function defined.  Fail if function not defined.
 * fail to register driver if io entitlement function not defined.
 * create set of dma_ops at vio level for CMO that will track allocations
   and return DMA failures once entitlement is reached.  Entitlement will
   limited by overall system entitlement.  Devices will have a reserved
   quantity of memory that is guaranteed, the rest can be used as available.
 * expose entitlement, current allocation, desired allocation, and the
   allocation error counter for devices to the user through sysfs
 * provide mechanism for changing a device's desired entitlement at run time
   for devices as an exported function and sysfs tunable
 * track any DMA failures for entitled IO memory for each vio device.
 * check entitlement against available system entitlement on device add
 * track entitlement metrics (high water mark, current usage)
 * provide function to reset high water mark
 * provide minimum and desired entitlement numbers at a bus level
 * provide drivers with a minimum guaranteed entitlement
 * balance available entitlement between devices to satisfy their needs
 * handle system entitlement changes and device hotplug

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: iommu enablement for CMO
Robert Jennings [Wed, 23 Jul 2008 18:31:16 +0000 (04:31 +1000)]
powerpc/pseries: iommu enablement for CMO

To support Cooperative Memory Overcommitment (CMO), we need to check
for failure from some of the tce hcalls.

These changes for the pseries platform affect the powerpc architecture;
patches for the other affected platforms are included in this patch.

pSeries platform IOMMU code changes:
 * platform TCE functions must handle H_NOT_ENOUGH_RESOURCES errors and
   return an error.

Architecture IOMMU code changes:
 * Calls to ppc_md.tce_build need to check return values and return
   DMA_MAPPING_ERROR for transient errors.

Architecture changes:
 * struct machdep_calls for tce_build*_pSeriesLP functions need to change
   to indicate failure.
 * all other platforms will need updates to iommu functions to match the new
   calling semantics; they will return 0 on success.  The other platforms
   default configs have been built, but no further testing was performed.

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Add CMO paging statistics
Brian King [Wed, 23 Jul 2008 18:30:58 +0000 (04:30 +1000)]
powerpc/pseries: Add CMO paging statistics

With the addition of Cooperative Memory Overcommitment (CMO) support
for IBM Power Systems, two fields have been added to the VPA to report
paging statistics.  Add support in lparcfg to report them to userspace.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Add collaborative memory manager
Brian King [Wed, 23 Jul 2008 18:30:29 +0000 (04:30 +1000)]
powerpc/pseries: Add collaborative memory manager

Adds a collaborative memory manager, which acts as a simple balloon driver
for System p machines that support cooperative memory overcommitment
(CMO).

Adds a platform configuration option for CMO called PPC_SMLPAR.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Utilities to set firmware page state
Brian King [Wed, 23 Jul 2008 18:29:16 +0000 (04:29 +1000)]
powerpc/pseries: Utilities to set firmware page state

Newer versions of firmware support page states, which are used by the
collaborative memory manager (future patch) to "loan" pages to the
hypervisor for use by other partitions.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Enable CMO feature during platform setup
Robert Jennings [Wed, 23 Jul 2008 18:29:03 +0000 (04:29 +1000)]
powerpc/pseries: Enable CMO feature during platform setup

For Cooperative Memory Overcommitment (CMO), set the FW_FEATURE_CMO
flag in powerpc_firmware_features from the rtas ibm,get-system-parameters
table prior to calling iommu_init_early_pSeries.

With this, any CMO specific functionality can be controlled by checking:
 firmware_has_feature(FW_FEATURE_CMO)

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Split retrieval of processor entitlement data into a helper routine
Robert Jennings [Wed, 23 Jul 2008 18:28:05 +0000 (04:28 +1000)]
powerpc/pseries: Split retrieval of processor entitlement data into a helper routine

Split the retrieval of processor entitlement data returned in the H_GET_PPP
hcall into its own helper routine.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Add memory entitlement capabilities to /proc/ppc64/lparcfg
Nathan Fontenot [Wed, 23 Jul 2008 18:27:30 +0000 (04:27 +1000)]
powerpc/pseries: Add memory entitlement capabilities to /proc/ppc64/lparcfg

Update /proc/ppc64/lparcfg to display Cooperative Memory
Overcommitment statistics as reported by the H_GET_MPP hcall.  This
also updates the lparcfg interface to allow setting memory entitlement
and weight.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Split processor entitlement retrieval and gathering to helper routines
Nathan Fotenot [Wed, 23 Jul 2008 18:25:16 +0000 (04:25 +1000)]
powerpc/pseries: Split processor entitlement retrieval and gathering to helper routines

Split the retrieval and setting of processor entitlement and weight into
helper routines.  This also removes the printing of the raw values
returned from h_get_ppp, the values are already parsed and printed.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/pseries: Remove extraneous error reporting for hcall failures in lparcfg
Nathan Fontenot [Wed, 23 Jul 2008 18:25:00 +0000 (04:25 +1000)]
powerpc/pseries: Remove extraneous error reporting for hcall failures in lparcfg

Remove the extraneous error reporting used when a hcall made from lparcfg fails.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc: Fix compile error with binutils 2.15
Segher Boessenkool [Fri, 25 Jul 2008 00:08:41 +0000 (10:08 +1000)]
powerpc: Fix compile error with binutils 2.15

My previous patch to fix compilation with binutils-2.17 causes
a "file truncated" build error from ld with binutils 2.15 (and
possibly older), and a warning with 2.16 and 2.17.

This fixes it.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: Chuck Meade <chuckmeade@mindspring.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc/cell: Fixed IOMMU mapping uses weak ordering for a pcie endpoint
Mark Nelson [Thu, 24 Jul 2008 04:28:48 +0000 (14:28 +1000)]
powerpc/cell: Fixed IOMMU mapping uses weak ordering for a pcie endpoint

At the moment the fixed mapping is by default strongly ordered (the
iommu_fixed=weak boot option must be used to make the fixed mapping weakly
ordered). If we're on a setup where the southbridge is being used in
endpoint mode (triblade and CAB boards) the default should be a weakly
ordered fixed mapping.

This adds a check so that if a node of type pcie-endpoint can be found in
the device tree the fixed mapping is set to be weak by default (but can be
overridden using iommu_fixed=strong).

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc: BookE hardware watchpoint support
Luis Machado [Wed, 23 Jul 2008 16:10:41 +0000 (02:10 +1000)]
powerpc: BookE hardware watchpoint support

This patch implements support for HW based watchpoint via the
DBSR_DAC (Data Address Compare) facility of the BookE processors.

It does so by interfacing with the existing DABR breakpoint code
and adding the necessary bits and pieces for the new bits to
be properly set or cleared

Signed-off-by: Luis Machado <luisgpm@br.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc: Fallout from sysdev API changes
Stephen Rothwell [Wed, 23 Jul 2008 00:44:58 +0000 (10:44 +1000)]
powerpc: Fallout from sysdev API changes

A struct sysdev_attribute * parameter was added to the show routine by
commit 4a0b2b4dbe1335b8b9886ba3dc85a145d5d938ed "sysdev: Pass the
attribute to the low level sysdev show/store function".

This eliminates a warning:

arch/powerpc/kernel/sysfs.c:538: warning: initialization from incompatible pointer type

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agopowerpc: Enable AT_BASE_PLATFORM aux vector
Nathan Lynch [Tue, 15 Jul 2008 23:58:51 +0000 (09:58 +1000)]
powerpc: Enable AT_BASE_PLATFORM aux vector

Stash the first platform string matched by identify_cpu() in
powerpc_base_platform, and supply that to the ELF loader for the value
of AT_BASE_PLATFORM.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agoELF loader support for auxvec base platform string
Nathan Lynch [Mon, 21 Jul 2008 18:48:46 +0000 (04:48 +1000)]
ELF loader support for auxvec base platform string

Some IBM POWER-based platforms have the ability to run in a
mode which mostly appears to the OS as a different processor from the
actual hardware.  For example, a Power6 system may appear to be a
Power5+, which makes the AT_PLATFORM value "power5+".  This means that
programs are restricted to the ISA supported by Power5+;
Power6-specific instructions are treated as illegal.

However, some applications (virtual machines, optimized libraries) can
benefit from knowledge of the underlying CPU model.  A new aux vector
entry, AT_BASE_PLATFORM, will denote the actual hardware.  For
example, on a Power6 system in Power5+ compatibility mode, AT_PLATFORM
will be "power5+" and AT_BASE_PLATFORM will be "power6".  The idea is
that AT_PLATFORM indicates the instruction set supported, while
AT_BASE_PLATFORM indicates the underlying microarchitecture.

If the architecture has defined ELF_BASE_PLATFORM, copy that value to
the user stack in the same manner as ELF_PLATFORM.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agoMerge commit 'jk/jk-merge'
Benjamin Herrenschmidt [Fri, 25 Jul 2008 05:35:10 +0000 (15:35 +1000)]
Merge commit 'jk/jk-merge'

16 years agoMerge commit 'gcl/gcl-next'
Benjamin Herrenschmidt [Fri, 25 Jul 2008 05:35:03 +0000 (15:35 +1000)]
Merge commit 'gcl/gcl-next'

16 years agofix fs/nfs/nfsroot.c compilation
Adrian Bunk [Thu, 24 Jul 2008 23:55:49 +0000 (02:55 +0300)]
fix fs/nfs/nfsroot.c compilation

This fixes the following compile error caused by commit
f9247273cb69ba101877e946d2d83044409cc8c5 ("UFS: add const to parser
token table"):

    CC      fs/nfs/nfsroot.o
  /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/nfs/nfsroot.c:130: error: tokens causes a section type conflict
  make[3]: *** [fs/nfs/nfsroot.o] Error 1

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86/oprofile/nmi_int: add Nehalem to list of ppro cores
Linus Torvalds [Fri, 25 Jul 2008 00:29:00 +0000 (17:29 -0700)]
x86/oprofile/nmi_int: add Nehalem to list of ppro cores

..otherwise oprofile will fall back on that poor timer interrupt.

Also replace the unreadable chain of if-statements with a "switch()"
statement instead. It generates better code, and is a lot clearer.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86-64: Clean up 'save/restore_i387()' usage
Linus Torvalds [Thu, 24 Jul 2008 22:43:44 +0000 (15:43 -0700)]
x86-64: Clean up 'save/restore_i387()' usage

Suresh Siddha wants to fix a possible FPU leakage in error conditions,
but the fact that save/restore_i387() are inlines in a header file makes
that harder to do than necessary.  So start off with an obvious cleanup.

This just moves the x86-64 version of save/restore_i387() out of the
header file, and moves it to the only file that it is actually used in:
arch/x86/kernel/signal_64.c.  So exposing it in a header file was wrong
to begin with.

[ Side note: I'd like to fix up some of the games we play with the
  32-bit version of these functions too, but that's a separate
  matter.  The 32-bit versions are shared - under different names
  at that! - by both the native x86-32 code and the x86-64 32-bit
  compatibility code ]

Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Thu, 24 Jul 2008 21:55:09 +0000 (14:55 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)
  ide: use proper printk() KERN_* levels in ide-probe.c
  ide: fix for EATA SCSI HBA in ATA emulating mode
  ide: remove stale comments from drivers/ide/Makefile
  ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase
  ide-scsi: remove kmalloced struct request
  ht6560b: remove old history
  ht6560b: update email address
  ide-cd: fix oops when using growisofs
  gayle: release resources on ide_host_add() failure
  palm_bk3710: add UltraDMA/100 support
  ide: trivial sparse annotations
  ide: ide-tape.c sparse annotations and unaligned access removal
  ide: drop 'name' parameter from ->init_chipset method
  ide: prefix messages from IDE PCI host drivers by driver name
  it821x: remove DECLARE_ITE_DEV() macro
  it8213: remove DECLARE_ITE_DEV() macro
  ide: include PCI device name in messages from IDE PCI host drivers
  ide: remove <asm/ide.h> for some archs
  ide-generic: remove ide_default_{io_base,irq}() inlines (take 3)
  ide-generic: is no longer needed on ppc32
  ...

16 years agoMerge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak...
Linus Torvalds [Thu, 24 Jul 2008 20:57:37 +0000 (13:57 -0700)]
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6

* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6:
  acpi: fix crash in core ACPI code, triggered by CONFIG_ACPI_PCI_SLOT=y
  ACPI: thinkpad-acpi: don't misdetect in get_thinkpad_model_data() on -ENOMEM
  ACPI: thinkpad-acpi: bump up version to 0.21
  ACPI: thinkpad-acpi: add bluetooth and WWAN rfkill support
  ACPI: thinkpad-acpi: WLSW overrides other rfkill switches
  ACPI: thinkpad-acpi: prepare for bluetooth and wwan rfkill support
  ACPI: thinkpad-acpi: consolidate wlsw notification function
  ACPI: thinkpad-acpi: minor refactor on radio switch init
  Revert "ACPI: don't walk tables if ACPI was disabled"
  Revert "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled."
  Revert "Fix FADT parsing"
  ACPI : Set FAN device to correct state in boot phase
  ACPI: Ignore _BQC object when registering backlight device
  ACPI: stop complaints about interrupt link End Tags and blank IRQ descriptors

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Thu, 24 Jul 2008 20:57:13 +0000 (13:57 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI: fixup sparse endianness warnings in proc.c
  PCI PM: make more PCI PM core functionality available to drivers
  PCI/DMAR: don't assume presence of RMRRs
  PCI hotplug: fix error path in pci_slot's register_slot

16 years agoide: use proper printk() KERN_* levels in ide-probe.c
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:36 +0000 (22:53 +0200)]
ide: use proper printk() KERN_* levels in ide-probe.c

While at it:

- fixup printk() messages in save_match() and hwif_init().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: fix for EATA SCSI HBA in ATA emulating mode
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:36 +0000 (22:53 +0200)]
ide: fix for EATA SCSI HBA in ATA emulating mode

IDE probing code used to skip devices attached to EATA SCSI HBA
in ATA emulating mode but because of warm-plug support port I/O
resources are no longer freed if no devices are detected on a port
and the decision about the driver to use is left up to the user.

Remove no longer valid EATA SCSI HBA quirk from do_identify().

Noticed-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove stale comments from drivers/ide/Makefile
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:36 +0000 (22:53 +0200)]
ide: remove stale comments from drivers/ide/Makefile

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:36 +0000 (22:53 +0200)]
ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase

It is already done by task_no_data_intr() and there is no reason
not to do it in other TASKFILE_NO_DATA data phase handlers.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-scsi: remove kmalloced struct request
FUJITA Tomonori [Thu, 24 Jul 2008 20:53:35 +0000 (22:53 +0200)]
ide-scsi: remove kmalloced struct request

This converts ide-scsi to use blk_get/put_request instead of
kmalloc/kfree.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoht6560b: remove old history
Jan Evert van Grootheest [Thu, 24 Jul 2008 20:53:35 +0000 (22:53 +0200)]
ht6560b: remove old history

Remove the ancient version history. Git does a better job.

From: Jan Evert van Grootheest <j.e.van.grootheest@caiway.nl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoht6560b: update email address
Jan Evert van Grootheest [Thu, 24 Jul 2008 20:53:35 +0000 (22:53 +0200)]
ht6560b: update email address

Update email address.

From: Jan Evert van Grootheest <j.e.van.grootheest@caiway.nl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cd: fix oops when using growisofs
Jens Axboe [Thu, 24 Jul 2008 20:53:35 +0000 (22:53 +0200)]
ide-cd: fix oops when using growisofs

cdrom_read_capacity() will blindly return the capacity from the device
without sanity-checking it.  This later causes code in fs/buffer.c to
oops.

Fix this by checking that the device is telling us sensible things.

From: Jens Axboe <jens.axboe@oracle.com>
Cc: Michael Buesch <mb@bu3sch.de>
Cc: Jan Kara <jack@suse.cz>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: <stable@kernel.org>
Cc: Borislav Petkov <petkovbb@googlemail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[bart: print device name instead of driver name]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
[harvey: blocklen is a big-endian value]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agogayle: release resources on ide_host_add() failure
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:34 +0000 (22:53 +0200)]
gayle: release resources on ide_host_add() failure

"gayle: reserve memory resources at once" patch temporary removed
freeing of resources on failure (to ease convertion to ide_host_add()
interface).  This patch fixes it.

Thanks to Geert for noticing the issue.

Noticed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agopalm_bk3710: add UltraDMA/100 support
Sergei Shtylyov [Thu, 24 Jul 2008 20:53:34 +0000 (22:53 +0200)]
palm_bk3710: add UltraDMA/100 support

This controller supports UltraDMA up to mode 5 but it should be clocked with
at least twice the data strobe frequency, so enable mode 5 for 100+ MHz IDECLK.

While at it, start passing the correct device to clk_get() -- it worked anyway
but WTF? :-/

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: trivial sparse annotations
Harvey Harrison [Thu, 24 Jul 2008 20:53:34 +0000 (22:53 +0200)]
ide: trivial sparse annotations

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: ide-tape.c sparse annotations and unaligned access removal
Harvey Harrison [Thu, 24 Jul 2008 20:53:33 +0000 (22:53 +0200)]
ide: ide-tape.c sparse annotations and unaligned access removal

If this is actually unaligned the access of speed/max_speed above
is already broken and needs a get_unaligned.  Otherwise it is
aligned and they can be removed.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: Borislav Petkov <petkovbb@googlemail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: drop 'name' parameter from ->init_chipset method
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:33 +0000 (22:53 +0200)]
ide: drop 'name' parameter from ->init_chipset method

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: prefix messages from IDE PCI host drivers by driver name
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:32 +0000 (22:53 +0200)]
ide: prefix messages from IDE PCI host drivers by driver name

Prefix messages from IDE PCI host drivers by driver name instead of marketed
chipset name (it is still possible to exactly identify the particular chipset
basing on driver messages).

As a bonus this provides nice code savings for some drivers:

   text    data     bss     dec     hex filename
   3826     112       8    3946     f6a drivers/ide/pci/amd74xx.o.before
   2786     112       8    2906     b5a drivers/ide/pci/amd74xx.o.after
    764     108       0     872     368 drivers/ide/pci/cs5520.o.before
    680     108       0     788     314 drivers/ide/pci/cs5520.o.after
   1680     112       4    1796     704 drivers/ide/pci/generic.o.before
   1155     112       4    1271     4f7 drivers/ide/pci/generic.o.after
   7128     792       0    7920    1ef0 drivers/ide/pci/hpt366.o.before
   6984     792       0    7776    1e60 drivers/ide/pci/hpt366.o.after
   2800     148       0    2948     b84 drivers/ide/pci/pdc202xx_new.o.before
   2523     148       0    2671     a6f drivers/ide/pci/pdc202xx_new.o.after
   2831     148       0    2979     ba3 drivers/ide/pci/pdc202xx_old.o.before
   2683     148       0    2831     b0f drivers/ide/pci/pdc202xx_old.o.after
   3776     112       4    3892     f34 drivers/ide/pci/piix.o.before
   2804     112       4    2920     b68 drivers/ide/pci/piix.o.after
   4693     116       0    4809    12c9 drivers/ide/pci/siimage.o.before
   4600     116       0    4716    126c drivers/ide/pci/siimage.o.after

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoit821x: remove DECLARE_ITE_DEV() macro
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:32 +0000 (22:53 +0200)]
it821x: remove DECLARE_ITE_DEV() macro

While at it:

* it821x_chipsets[] -> it821x_chipset.

* Fix it821x_chipset's name field (as it is used for IT8211/8212).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoit8213: remove DECLARE_ITE_DEV() macro
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:32 +0000 (22:53 +0200)]
it8213: remove DECLARE_ITE_DEV() macro

While at it:

* it8213_chipsets[] -> it8213_chipset.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: include PCI device name in messages from IDE PCI host drivers
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:31 +0000 (22:53 +0200)]
ide: include PCI device name in messages from IDE PCI host drivers

While at it:

* Apply small fixes to messages (s/dma/DMA/, remove trailing '.', etc).

* Fix printk() call in ide_setup_pci_baseregs() to use KERN_INFO.

* Move printk() call from ide_pci_clear_simplex() to the caller.

* Cleanup do_ide_setup_pci_device() a bit.

* amd74xx.c: remove superfluous PCI device revision information.

* hpt366.c: fix two printk() calls in ->init_chipset to use KERN_INFO.

* pdc202xx_new.c: fix printk() call in ->init_chipset to use KERN_INFO.

* pdc202xx_old.c: fix driver message in pdc202xx_init_one().

* via82cxxx.c: fix driver warning message in via_init_one().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove <asm/ide.h> for some archs
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:31 +0000 (22:53 +0200)]
ide: remove <asm/ide.h> for some archs

* Remove <linux/irq.h> include from <asm-ia64.h> (<linux/ide.h> includes
  <linux/interrupt.h> which is enough).

* Remove <asm/ide.h> for alpha/blackfin/h8300/ia64/m32r/sh/x86/xtensa
  (this leaves us with arm/frv/m68k/mips/mn10300/parisc/powerpc/sparc[64]).

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: remove ide_default_{io_base,irq}() inlines (take 3)
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:31 +0000 (22:53 +0200)]
ide-generic: remove ide_default_{io_base,irq}() inlines (take 3)

Replace ide_default_{io_base,irq}() inlines by legacy_{bases,irqs}[].

v2:
Add missing zero-ing of hws[] (caught during testing by Borislav Petkov).

v3:
Fix zero-oing of hws[] for _real_ this time.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: is no longer needed on ppc32
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:30 +0000 (22:53 +0200)]
ide-generic: is no longer needed on ppc32

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: remove broken PPC_PREP support
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:30 +0000 (22:53 +0200)]
ide-generic: remove broken PPC_PREP support

PPC_PREP has been depending on BROKEN for some time now.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: define MAX_HWIFS in <linux/ide.h>
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:30 +0000 (22:53 +0200)]
ide: define MAX_HWIFS in <linux/ide.h>

* Now that ide_hwif_t instances are allocated dynamically
  the difference between MAX_HWIFS == 2 and MAX_HWIFS == 10
  is ~100 bytes (x86-32) so use MAX_HWIFS == 10 on all archs
  except these ones that use MAX_HWIFS == 1.

* Define MAX_HWIFS in <linux/ide.h> instead of <asm/ide.h>.

[ Please note that avr32/cris/v850 have no <asm/ide.h>
  and alpha/ia64/sh always define CONFIG_IDE_MAX_HWIFS. ]

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove <asm-cris/ide.h>
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:29 +0000 (22:53 +0200)]
ide: remove <asm-cris/ide.h>

Remove <asm-cris/arch-v{10,32}/ide.h> and <asm-cris/ide.h>.

This has been a broken code for some time now and needs rewrite
to match IDE core code / host driver model anyway.

Cc: Jesper Nilsson <Jesper.Nilsson@axis.com>
Cc: Mikael Starvik <mikael.starvik@axis.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: remove "no_pci_devices()" quirk from ide_default_io_base()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:28 +0000 (22:53 +0200)]
ide-generic: remove "no_pci_devices()" quirk from ide_default_io_base()

Since the decision to probe for ISA ide2-6 is now left to the user
"no_pci_devices()" quirk is no longer needed and may be removed.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: minor fix for mips
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:28 +0000 (22:53 +0200)]
ide-generic: minor fix for mips

Move ide_probe_legacy() call to ide_generic_init() so it fails
early if necessary and returns the proper error value (nowadays
ide_default_io_base() is used only by ide-generic).

Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: fix ide_default_io_base() for m32r
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:27 +0000 (22:53 +0200)]
ide-generic: fix ide_default_io_base() for m32r

Fix ide_default_io_base() to match ide_default_irq().

Cc: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: fix <asm-xtensa/ide.h>
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:27 +0000 (22:53 +0200)]
ide: fix <asm-xtensa/ide.h>

* Add missing <asm-generic/ide_iops.h> include.

While at it:

* Remove needless ide_default_{irq,io_base}() inlines.

Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agorapide: add module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:27 +0000 (22:53 +0200)]
rapide: add module_exit()

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoicside: add module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:27 +0000 (22:53 +0200)]
icside: add module_exit()

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agovia82cxxx: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:26 +0000 (22:53 +0200)]
via82cxxx: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agotrm290: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:26 +0000 (22:53 +0200)]
trm290: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agotriflex: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:26 +0000 (22:53 +0200)]
triflex: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agotc86c001: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:26 +0000 (22:53 +0200)]
tc86c001: add ->remove method and module_exit()

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoslc90e66: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:25 +0000 (22:53 +0200)]
slc90e66: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosl82c105: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:25 +0000 (22:53 +0200)]
sl82c105: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosis5513: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:25 +0000 (22:53 +0200)]
sis5513: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosiimage: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:25 +0000 (22:53 +0200)]
siimage: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoserverworks: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:25 +0000 (22:53 +0200)]
serverworks: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosc1200: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:24 +0000 (22:53 +0200)]
sc1200: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agorz1000: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:24 +0000 (22:53 +0200)]
rz1000: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agopiix: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:24 +0000 (22:53 +0200)]
piix: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agopdc202xx_old: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:24 +0000 (22:53 +0200)]
pdc202xx_old: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agopdc202xx_new: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:23 +0000 (22:53 +0200)]
pdc202xx_new: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoopti621: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:23 +0000 (22:53 +0200)]
opti621: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agons87415: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:23 +0000 (22:53 +0200)]
ns87415: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agojmicron: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:22 +0000 (22:53 +0200)]
jmicron: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoit821x: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:22 +0000 (22:53 +0200)]
it821x: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoit8213: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:22 +0000 (22:53 +0200)]
it8213: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agohpt366: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:21 +0000 (22:53 +0200)]
hpt366: add ->remove method and module_exit()

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agohpt34x: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:21 +0000 (22:53 +0200)]
hpt34x: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide/pci/generic: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:21 +0000 (22:53 +0200)]
ide/pci/generic: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocy82c693: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:21 +0000 (22:53 +0200)]
cy82c693: add ->remove method and module_exit()

Fix the refcounting for dev2 while at it.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocs5535: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:20 +0000 (22:53 +0200)]
cs5535: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocs5530: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:20 +0000 (22:53 +0200)]
cs5530: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocmd64x: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:20 +0000 (22:53 +0200)]
cmd64x: add ->remove method and module_exit()

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoatiixp: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:20 +0000 (22:53 +0200)]
atiixp: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoamd74xx: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:19 +0000 (22:53 +0200)]
amd74xx: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoalim15x3: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:19 +0000 (22:53 +0200)]
alim15x3: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoaec62xx: add ->remove method and module_exit()
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:19 +0000 (22:53 +0200)]
aec62xx: add ->remove method and module_exit()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add ide_pci_remove() helper
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:19 +0000 (22:53 +0200)]
ide: add ide_pci_remove() helper

* Add 'unsigned long host_flags' field to struct ide_host.

* Set ->host_flags in ide_host_alloc_all().

* Always set PCI dev's ->driver_data in ide_pci_init_{one,two}().

* Add ide_pci_remove() helper (the default implementation for
  struct pci_driver's ->remove method).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agovia82cxxx: cleanup ->init_chipset method
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:18 +0000 (22:53 +0200)]
via82cxxx: cleanup ->init_chipset method

* Move the boot message and via_clock setup from
  init_chipset_via82cxxx() to via_init_one().

* Set vdev->via_config in via_init_one() and cleanup
  init_chipset_via82cxxx() accordingly.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocmd64x: cleanup ->init_chipset method
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:17 +0000 (22:53 +0200)]
cmd64x: cleanup ->init_chipset method

Remove verbose reporting for CMD646 (PCI device revision is always
logged by IDE PCI layer).

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoamd74xx: cleanup ->init_chipset method
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:17 +0000 (22:53 +0200)]
amd74xx: cleanup ->init_chipset method

Move amd_clock setup from init_chipset_amd74xx() to amd74xx_probe().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agotc86c001: remove ->init_chipset method
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:17 +0000 (22:53 +0200)]
tc86c001: remove ->init_chipset method

* Reserve PCI BAR 5 in tc86c001_init_one() and remove no longer needed
  init_chipset_tc86c001().

While at it:

* Add & use DRV_NAME define.

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agovia82cxxx: convert to use ->host_priv
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:17 +0000 (22:53 +0200)]
via82cxxx: convert to use ->host_priv

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosiimage: convert to use ->host_priv
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:16 +0000 (22:53 +0200)]
siimage: convert to use ->host_priv

While at it:

* Reserve PCI BAR 5 in siimage_init_one() and remove no longer needed
  setup_mmio_siimage().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosc1200: convert to use ->host_priv
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:16 +0000 (22:53 +0200)]
sc1200: convert to use ->host_priv

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoit821x: convert to use ->host_priv
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:16 +0000 (22:53 +0200)]
it821x: convert to use ->host_priv

While at it:

* Allocate both struct it821x_dev instances at once.

* Don't leak itdevs on ide_pci_init_one() failure.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agohpt366: convert to use ->host_priv
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:15 +0000 (22:53 +0200)]
hpt366: convert to use ->host_priv

While at it:

* Allocate both struct hpt_info instances at once.

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoaec62xx: convert to use ->host_priv
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:15 +0000 (22:53 +0200)]
aec62xx: convert to use ->host_priv

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add ide_device_{get,put}() helpers
Bartlomiej Zolnierkiewicz [Thu, 24 Jul 2008 20:53:15 +0000 (22:53 +0200)]
ide: add ide_device_{get,put}() helpers

* Add 'struct ide_host *host' field to ide_hwif_t and set it
  in ide_host_alloc_all().

* Add ide_device_{get,put}() helpers loosely based on SCSI's
  scsi_device_{get,put}() ones.

* Convert IDE device drivers to use ide_device_{get,put}().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>