openwrt/staging/blogic.git
16 years agox86_64/mm: check and print vmemmap allocation continuous
Yinghai Lu [Sat, 12 Apr 2008 08:19:24 +0000 (01:19 -0700)]
x86_64/mm: check and print vmemmap allocation continuous

On big systems with lots of memory, don't print out too much during
bootup, and make it easy to find if it is continuous.

on 256G 8 sockets system will get
 [ffffe20000000000-ffffe20002bfffff] PMD -> [ffff810001400000-ffff810003ffffff] on node 0
[ffffe2001c700000-ffffe2001c7fffff] potential offnode page_structs
 [ffffe20002c00000-ffffe2001c7fffff] PMD -> [ffff81000c000000-ffff8100255fffff] on node 0
[ffffe20038700000-ffffe200387fffff] potential offnode page_structs
 [ffffe2001c800000-ffffe200387fffff] PMD -> [ffff810820200000-ffff81083c1fffff] on node 1
 [ffffe20040000000-ffffe2007fffffff] PUD ->ffff811027a00000 on node 2
 [ffffe20038800000-ffffe2003fffffff] PMD -> [ffff811020200000-ffff8110279fffff] on node 2
[ffffe20054700000-ffffe200547fffff] potential offnode page_structs
 [ffffe20040000000-ffffe200547fffff] PMD -> [ffff811027c00000-ffff81103c3fffff] on node 2
[ffffe20070700000-ffffe200707fffff] potential offnode page_structs
 [ffffe20054800000-ffffe200707fffff] PMD -> [ffff811820200000-ffff81183c1fffff] on node 3
 [ffffe20080000000-ffffe200bfffffff] PUD ->ffff81202fa00000 on node 4
 [ffffe20070800000-ffffe2007fffffff] PMD -> [ffff812020200000-ffff81202f9fffff] on node 4
[ffffe2008c700000-ffffe2008c7fffff] potential offnode page_structs
 [ffffe20080000000-ffffe2008c7fffff] PMD -> [ffff81202fc00000-ffff81203c3fffff] on node 4
[ffffe200a8700000-ffffe200a87fffff] potential offnode page_structs
 [ffffe2008c800000-ffffe200a87fffff] PMD -> [ffff812820200000-ffff81283c1fffff] on node 5
 [ffffe200c0000000-ffffe200ffffffff] PUD ->ffff813037a00000 on node 6
 [ffffe200a8800000-ffffe200bfffffff] PMD -> [ffff813020200000-ffff8130379fffff] on node 6
[ffffe200c4700000-ffffe200c47fffff] potential offnode page_structs
 [ffffe200c0000000-ffffe200c47fffff] PMD -> [ffff813037c00000-ffff81303c3fffff] on node 6
 [ffffe200c4800000-ffffe200e07fffff] PMD -> [ffff813820200000-ffff81383c1fffff] on node 7

instead of a very long print out...

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86_64: fix setup_node_bootmem to support big mem excluding with memmap
Yinghai Lu [Tue, 18 Mar 2008 19:52:37 +0000 (12:52 -0700)]
x86_64: fix setup_node_bootmem to support big mem excluding with memmap

typical case: four sockets system, every node has 4g ram, and we are using:

memmap=10g$4g

to mask out memory on node1 and node2

when numa is enabled, early_node_mem is used to get node_data and node_bootmap.

if it can not get memory from the same node with find_e820_area(), it will
use alloc_bootmem to get buff from previous nodes.

so check it and print out some info about it.

need to move early_res_to_bootmem into every setup_node_bootmem.
and it takes range that node has. otherwise alloc_bootmem could return addr
that reserved early.

depends on "mm: make reserve_bootmem can crossed the nodes".

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86_64: make reserve_bootmem_generic() use new reserve_bootmem()
Yinghai Lu [Tue, 18 Mar 2008 19:50:21 +0000 (12:50 -0700)]
x86_64: make reserve_bootmem_generic() use new reserve_bootmem()

"mm: make reserve_bootmem can crossed the nodes" provides new
reserve_bootmem(), let reserve_bootmem_generic() use that.

reserve_bootmem_generic() is used to reserve initramdisk, so this way
we can make sure even when bootloader or kexec load ranges cross the
node memory boundaries, reserve_bootmem still works.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agomm: allow reserve_bootmem() cross nodes
Yinghai Lu [Tue, 18 Mar 2008 19:49:12 +0000 (12:49 -0700)]
mm: allow reserve_bootmem() cross nodes

split reserve_bootmem_core() into two functions, one which checks
conflicts, and one which sets the bits.

and make reserve_bootmem to loop bdata_list to cross the nodes.

user could be crashkernel and ramdisk..., in case the range provided
by those externalities crosses the nodes.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agomm: offset align in alloc_bootmem()
Yinghai Lu [Tue, 18 Mar 2008 19:44:48 +0000 (12:44 -0700)]
mm: offset align in alloc_bootmem()

need offset alignment when node_boot_start's alignment is less than
the alignment required.

use local node_boot_start to match alignment - so don't add extra operation
in search loop.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agomm: fix alloc_bootmem_core to use fast searching for all nodes
Yinghai Lu [Tue, 11 Mar 2008 06:23:42 +0000 (23:23 -0700)]
mm: fix alloc_bootmem_core to use fast searching for all nodes

Make the nodes other than node 0 use bdata->last_success for fast
search too.

We need to use __alloc_bootmem_core() for vmemmap allocation for other
nodes when numa and sparsemem/vmemmap are enabled.

Also, make fail_block path increase i with incr only after ALIGN
to avoid extra increase when size is larger than align.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agomm: make mem_map allocation continuous
Yinghai Lu [Sun, 13 Apr 2008 18:51:06 +0000 (11:51 -0700)]
mm: make mem_map allocation continuous

vmemmap allocation currently has this layout:

 [ffffe20000000000-ffffe200001fffff] PMD ->ffff810001400000 on node 0
 [ffffe20000200000-ffffe200003fffff] PMD ->ffff810001800000 on node 0
 [ffffe20000400000-ffffe200005fffff] PMD ->ffff810001c00000 on node 0
 [ffffe20000600000-ffffe200007fffff] PMD ->ffff810002000000 on node 0
 [ffffe20000800000-ffffe200009fffff] PMD ->ffff810002400000 on node 0
...

note that there is a 2M hole between them - not optimal.

the root cause is that usemap (24 bytes) will be allocated after every 2M
mem_map, and it will push next vmemmap (2M) to the next (2M) alignment.

solution: try to allocate the mem_map continously.

after the patch, we get:

 [ffffe20000000000-ffffe200001fffff] PMD ->ffff810001400000 on node 0
 [ffffe20000200000-ffffe200003fffff] PMD ->ffff810001600000 on node 0
 [ffffe20000400000-ffffe200005fffff] PMD ->ffff810001800000 on node 0
 [ffffe20000600000-ffffe200007fffff] PMD ->ffff810001a00000 on node 0
 [ffffe20000800000-ffffe200009fffff] PMD ->ffff810001c00000 on node 0
...

which is the ideal layout.

and usemap will share a page because of they are allocated continuously too:

sparse_early_usemap_alloc: usemap = ffff810024e00000 size = 24
sparse_early_usemap_alloc: usemap = ffff810024e00080 size = 24
sparse_early_usemap_alloc: usemap = ffff810024e00100 size = 24
sparse_early_usemap_alloc: usemap = ffff810024e00180 size = 24
...

so we make the bootmem allocation more compact and use less memory
for usemap => mission accomplished ;-)

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sat, 26 Apr 2008 20:29:41 +0000 (13:29 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam:
  x86, boot: Document for linked list of struct setup_data
  x86, boot: export linked list of struct setup_data via debugfs
  x86, boot: add linked list of struct setup_data
  x86, boot: add free_early to early reservation machanism

16 years agox86, boot: Document for linked list of struct setup_data
Huang, Ying [Fri, 28 Mar 2008 02:49:50 +0000 (10:49 +0800)]
x86, boot: Document for linked list of struct setup_data

Documentation for linked list of struct setup_data.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86, boot: export linked list of struct setup_data via debugfs
Huang, Ying [Fri, 28 Mar 2008 02:49:48 +0000 (10:49 +0800)]
x86, boot: export linked list of struct setup_data via debugfs

Export linked list of struct setup_data via debugfs.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86, boot: add linked list of struct setup_data
Huang, Ying [Fri, 28 Mar 2008 02:49:44 +0000 (10:49 +0800)]
x86, boot: add linked list of struct setup_data

This patch adds a field of 64-bit physical pointer to NULL terminated
single linked list of struct setup_data to real-mode kernel
header. This is used as a more extensible boot parameters passing
mechanism.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86, boot: add free_early to early reservation machanism
Huang, Ying [Fri, 28 Mar 2008 02:49:42 +0000 (10:49 +0800)]
x86, boot: add free_early to early reservation machanism

Add free_early to early reservation mechanism - this way early bootup
failure paths can stop wasting memory.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86, PAT: disable /dev/mem mmap RAM with PAT
Venki Pallipadi [Sat, 26 Apr 2008 18:32:12 +0000 (11:32 -0700)]
x86, PAT: disable /dev/mem mmap RAM with PAT

disable /dev/mem mmap of RAM with PAT. It makes things safer and
eliminates aliasing. A future improvement would be to avoid the
range_is_allowed duplication.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sat, 26 Apr 2008 16:50:58 +0000 (09:50 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/x86/linux-2.6-x86-fixes

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes:
  x86 PAT: decouple from nonpromisc devmem
  x86 PAT: tone down debugging messages

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Sat, 26 Apr 2008 16:49:51 +0000 (09:49 -0700)]
Merge git://git./linux/kernel/git/mchehab/v4l-dvb

* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (7751): ir-kbd-i2c: Save a temporary memory allocation in ir_probe
  V4L/DVB (7750): au0828/ cleanups and fixes
  V4L/DVB (7748): tuner-core: some adjustments at tuner logs, if debug enabled
  V4L/DVB (7746): pvrusb2: make signed one-bit bitfields unsigned
  V4L/DVB (7744): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 751xx
  V4L/DVB (7742): cx88: Add support for the DViCO FusionHDTV_7_GOLD digital modes
  V4L/DVB (7741): s5h1411: Adding support for this ATSC/QAM demodulator
  V4L/DVB (7740): tuner-xc2028.c dubious !x & y
  V4L/DVB (7739): mt312.h: dubious one-bit signed bitfield
  V4L/DVB (7735): Fix compilation for au0828
  V4L/DVB (7734): em28xx: copy and paste error in em28xx_init_isoc
  V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec()
  V4L/DVB (7732): vivi: fix a warning

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sat, 26 Apr 2008 16:48:52 +0000 (09:48 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/x86/linux-2.6-x86-optimized-inlining

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-optimized-inlining:
  generic: make optimized inlining arch-opt-in
  x86: add optimized inlining

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Sat, 26 Apr 2008 16:48:00 +0000 (09:48 -0700)]
Merge git://git./linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (61 commits)
  ide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag
  sis5513: fail early for unsupported chipsets
  it821x: fix kzalloc() failure handling
  qd65xx: use IDE_HFLAG_SINGLE host flag
  qd65xx: always use ->selectproc method
  ide-cd: put proc-related functions together under single ifdef
  ide-cd: Replace __FUNCTION__ with __func__
  IDE: Coding Style fixes to drivers/ide/ide-cd.c
  IDE: Coding Style fixes to drivers/ide/pci/cy82c693.c
  IDE: Coding Style fixes to drivers/ide/pci/it8213.c
  IDE: Coding Style fixes to drivers/ide/ide-floppy.c
  IDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c
  IDE: Coding Style fixes to drivers/ide/legacy/hd.c
  IDE: Coding Style fixes to drivers/ide/pci/cmd640.c
  IDE: Coding Style fixes to drivers/ide/pci/opti621.c
  IDE: Coding Style fixes to drivers/ide/ide-pnp.c
  IDE: Coding Style fixes to drivers/ide/ide-proc.c
  IDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c
  IDE: Coding Style fixes to drivers/ide/legacy/umc8672.c
  IDE: Coding Style fixes to drivers/ide/pci/generic.c
  ...

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sat, 26 Apr 2008 16:44:32 +0000 (09:44 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/x86/linux-2.6-x86-misc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-misc: (28 commits)
  x86: section mismatch fixes, #3
  x86: section mismatch fixes, #2
  x86: pgtable_32.h - prototype and section mismatch fixes
  x86: unlock_ExtINT_logic() - fix section mismatch warnings
  x86: uniq_ioapic_id - fix section mismatch warning
  x86: trampoline_32.S - switch to .cpuinit.data
  x86: use get_bios_ebda()
  x86: remove duplicate get_bios_ebda() from rio.h
  x86: get_bios_ebda() requires asm/io.h
  x86: use cpumask function for present, possible, and online cpus
  x86: cleanup div_sc() usage
  x86: cleanup clocksource_hz2mult usage
  x86: remove unnecessary memset and NULL check after alloc_bootmem()
  x86: use bitmap library for pin_programmed
  x86: use MP_intsrc_info()
  x86: use BUILD_BUG_ON() for the size of struct intel_mp_floating
  x86_64 ia32 ptrace: convert to compat_arch_ptrace
  x86_64 ia32 ptrace: use compat_ptrace_request for siginfo
  x86 signals: lift set_fs
  x86 signals: lift flags diddling code
  ...

16 years agox86 PAT: decouple from nonpromisc devmem
Ingo Molnar [Sat, 26 Apr 2008 08:26:52 +0000 (10:26 +0200)]
x86 PAT: decouple from nonpromisc devmem

Linus pointed it out that PAT should not depend on NONPROMISC_DEVMEM.

Also make PAT non-default.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Sat, 26 Apr 2008 16:29:36 +0000 (09:29 -0700)]
Merge branch 'agp-patches' of git://git./linux/kernel/git/airlied/agp-2.6

* 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:
  agp: convert drivers/char/agp/frontend.c to use unlocked_ioctl
  agp: fix shadowed variable warning in amd-k7-agp.c

16 years agoMerge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Sat, 26 Apr 2008 16:26:39 +0000 (09:26 -0700)]
Merge branch 'drm-patches' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: _end is shadowing real _end, just rename it.
  drm/vbl rework: rework how the drm deals with vblank.
  drm: reorganise minor number handling using backported modesetting code.
  drm/i915: Handle tiled buffers in vblank tasklet
  drm/i965: On I965, use correct 3DSTATE_DRAWING_RECTANGLE command in vblank
  drm: Remove unneeded dma sync in ATI pcigart alloc
  drm: Fix mismerge of non-coherent DMA patch

16 years agoFix uninitialized 'copy' in unshare_files
Al Viro [Sat, 26 Apr 2008 04:25:00 +0000 (05:25 +0100)]
Fix uninitialized 'copy' in unshare_files

Arrgghhh...

Sorry about that, I'd been sure I'd folded that one, but it actually got
lost.  Please apply - that breaks execve().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agogeneric: make optimized inlining arch-opt-in
Ingo Molnar [Wed, 9 Apr 2008 09:03:37 +0000 (11:03 +0200)]
generic: make optimized inlining arch-opt-in

Stephen Rothwell reported that linux-next did not build on powerpc64.

make optimized inlining dependent on architecture opt-in.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: add optimized inlining
Ingo Molnar [Mon, 3 Mar 2008 11:38:52 +0000 (12:38 +0100)]
x86: add optimized inlining

add CONFIG_OPTIMIZE_INLINING=y.

allow gcc to optimize the kernel image's size by uninlining
functions that have been marked 'inline'. Previously gcc was
forced by Linux to always-inline these functions via a gcc
attribute:

 #define inline inline __attribute__((always_inline))

Especially when the user has already selected
CONFIG_OPTIMIZE_FOR_SIZE=y this can make a huge difference in
kernel image size (using a standard Fedora .config):

   text    data     bss     dec           hex filename
   5613924  562708 3854336 10030968    990f78 vmlinux.before
   5486689  562708 3854336  9903733    971e75 vmlinux.after

that's a 2.3% text size reduction (!).

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:43 +0000 (17:36 +0200)]
ide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag

* Check for IDE_HFLAG_NO_SET_MODE host flag in ide_set_pio(),
  ide_set_[pio,dma]_mode(), ide_set_xfer_rate() and set_pio_mode().

* Remove no longer needed IDE_HFLAG_NO_SET_MODE host flag checking
  from ide_tune_dma().

* Remove superfluous ->set_pio_mode checking from do_special().

This is a part of preparations for adding 'struct ide_port_ops'.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosis5513: fail early for unsupported chipsets
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:43 +0000 (17:36 +0200)]
sis5513: fail early for unsupported chipsets

* Factor out chipset family detection from init_chipset_sis5513()
  to sis_find_family().

* Use sis_find_family() in sis5513_init_one() to fail early if the
  chipset is unsupported.

* Keep a local copy sis5513_chipset in sis5513_init_one()
  and set .udma_mask according to chipset family.

* Remove no longer need ->ultra_mask setting from init_hwif_sis5513().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoit821x: fix kzalloc() failure handling
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
it821x: fix kzalloc() failure handling

Allocate 'struct it821x_dev' objects for both ports in it821x_init_one().

Fixes potential OOPS in it821x_quirkproc() (uses 'itdev' unconditionally)
and other problems ('itdev' is needed for correct operation of the driver).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoqd65xx: use IDE_HFLAG_SINGLE host flag
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
qd65xx: use IDE_HFLAG_SINGLE host flag

* Set IDE_HFLAG_SINGLE host flag in qd_probe() for QD6500 and QD6580
  with the second port disabled.

* Check for IDE_HFLAG_SINGLE in qd6580_port_init_devs() instead of
  using cached value of QD6580 Control register.

* Don't cache QD6580 Control register value in hwif->config_data
  (bits 8-15) and remove no longer needed QD_CONTROL() macro.

* Cache QD65xx base address in hwif->config_data (bits 8-15)
  instead of hwif->select_data.

* Set hwif->config_data in qd_probe() and remove qd_setup() helper.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoqd65xx: always use ->selectproc method
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
qd65xx: always use ->selectproc method

qd_select() checks itself whether timings should be reprogrammed so
remove superfluous qd_timing_ok() and always use ->selectproc method
(rename qd_select() to qd65xx_select() while at it).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cd: put proc-related functions together under single ifdef
Borislav Petkov [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
ide-cd: put proc-related functions together under single ifdef

[bart: ported it over Paolo's patch]

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cd: Replace __FUNCTION__ with __func__
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
ide-cd: Replace __FUNCTION__ with __func__

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/ide-cd.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/ide-cd.c

Before:
total: 43 errors, 66 warnings, 2183 lines checked

After:
total: 0 errors, 36 warnings, 2192 lines checked

I didn't (and I don't plan to) fix the warnings:
WARNING: line over 80 characters

[bart: minor fixes, md5sum checked (modulo s/"ignore = NULL;"/"ignore;"/ fix)]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/cy82c693.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:42 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/cy82c693.c

Before:
total: 34 errors, 14 warnings, 456 lines checked

After:
total: 0 errors, 8 warnings, 456 lines checked

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/it8213.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:41 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/it8213.c

File is now error free, only a few
WARNING: line over 80 characters
are left.

Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/ide-floppy.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:41 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/ide-floppy.c

File is now error free.
Compile tested.

[bart: minor fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:41 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c

File is now error free, 2 warnings left.
Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/legacy/hd.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:41 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/legacy/hd.c

Fix a lot of errors and warnings.
Compile tested.

[bart: some fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/cmd640.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:41 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/cmd640.c

Fix all the errors and a few warnings.
Compile tested.

[bart: some fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/opti621.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:41 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/opti621.c

Compile tested.

[bart: some fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/ide-pnp.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:40 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/ide-pnp.c

File is now error free.
Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/ide-proc.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:40 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/ide-proc.c

Lot of errors and warnings removed.
Compile tested.

[bart: minor fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:40 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c

File is now error and warning free.
Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/legacy/umc8672.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:40 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/legacy/umc8672.c

File is now error free.
Compile tested.

[bart: minor fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/generic.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:40 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/generic.c

File is now error free.
Compile tested.

[bart: fix issues noticed by Adrian Bunk & Cyrill Gorcunov, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/jmicron.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:40 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/jmicron.c

File is now error free.
Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/sis5513.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:39 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/sis5513.c

About 300 errors and warnings fixed.
File is now error free.
Compile tested.

[bart: minor fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/slc90e66.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:39 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/slc90e66.c

File is now error free, only 1 warning left.
Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/pci/tc86c001.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:39 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/pci/tc86c001.c

File is now error and warning free.
Compile tested.

[bart: md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoIDE: Coding Style fixes to drivers/ide/setup-pci.c
Paolo Ciarrocchi [Sat, 26 Apr 2008 15:36:39 +0000 (17:36 +0200)]
IDE: Coding Style fixes to drivers/ide/setup-pci.c

File is now error free.
Compile tested.

[bart: minor fixes, md5sum checked]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove hwif->straight8 flag
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:39 +0000 (17:36 +0200)]
ide: remove hwif->straight8 flag

All host drivers now either set hwif->mmio or reserve continuous
I/O resources so remove no longer needed hwif->straight8 flag
and never reached code for 'hwif->straight8 == 0' case.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove IDE_HFLAG_CY82C693 host flag
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:38 +0000 (17:36 +0200)]
ide: remove IDE_HFLAG_CY82C693 host flag

Sergei suggested that it shouldn't be necessary + it had no effect
anyway since ide_id_dma_bug() is called earlier in ide_tune_dma().

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agofalconide: fix resources reservation (take 2)
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:38 +0000 (17:36 +0200)]
falconide: fix resources reservation (take 2)

* Tell IDE layer to not manage resources by setting
  hwif->mmio flag and request resources in falconide_init().

* Use request_mem_region() for resources reservation.

* Use driver name for resources reservation.

v2:
* Fix missing printk() parameter. (Noticed by Geert Uytterhoeven)

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-mpc8xx: fix resources reservation
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:38 +0000 (17:36 +0200)]
ide-mpc8xx: fix resources reservation

* Tell IDE layer to not manage resources by setting
  hwif->mmio flag and request resources in m8xx_ide_init_ports().

* Use request_mem_region() for resources reservation.

* Use driver name for resources reservation.

Cc: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-mpc8xx: make m8xx_ide_init_ports() return an error value
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:38 +0000 (17:36 +0200)]
ide-mpc8xx: make m8xx_ide_init_ports() return an error value

* Make m8xx_ide_init_ports() return an error value.

* Update mpc8xx_ide_probe() to setup/probe only ports for which
  m8xx_ide_init_ports() succedded.

Cc: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agobast-ide: fix resources reservation
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:38 +0000 (17:36 +0200)]
bast-ide: fix resources reservation

* Tell IDE layer to not manage resources by setting
  hwif->mmio flag and request resources in bastide_init().

* Use request_mem_region() for resources reservation.

* Use driver name for resources reservation.

Cc: Ben Dooks <support@simtec.co.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agodelkin_cb: fix resources handling
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:38 +0000 (17:36 +0200)]
delkin_cb: fix resources handling

Tell IDE layer to not manage resources by setting hwif->mmio flag.

Cc: Mark Lord <mlord@pobox.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide_platform: fix resources handling
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:37 +0000 (17:36 +0200)]
ide_platform: fix resources handling

Tell IDE layer to not manage resources by always setting hwif->mmio flag
(resources are handled by a platform device).

Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoremove include/linux/hdsmart.h
Adrian Bunk [Sat, 26 Apr 2008 15:36:37 +0000 (17:36 +0200)]
remove include/linux/hdsmart.h

include/linux/hdsmart.h is not used by the kernel and should therefore
be removed.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: "Robert P. J. Day" <rpjday@crashcourse.ca>,
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cd: remove the internal 64k buffer
Borislav Petkov [Sat, 26 Apr 2008 15:36:37 +0000 (17:36 +0200)]
ide-cd: remove the internal 64k buffer

This removes the internal ide-cd buffer and falls back to read-ahead block layer
capabilities. Thorough testing (cd burning, dvd read, raw read) gives with the
bufferless mode marginally better performance in addition to simplified code.

bufferless:

dd: reading `/dev/hdc': Input/output error
6238+0 records in
6238+0 records out
204406784 bytes (204 MB) copied, 259.891 s, 787 kB/s

real    4m21.598s
user    0m0.014s
sys     0m0.744s

with the old buffer (2.6.25-rc1):

dd: reading `/dev/hdc': Input/output error
6238+0 records in
6238+0 records out
204406784 bytes (204 MB) copied, 262.893 s, 778 kB/s

real    4m22.938s
user    0m0.009s
sys     0m0.771s

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-disk: fix issues found by checkpatch.pl
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:37 +0000 (17:36 +0200)]
ide-disk: fix issues found by checkpatch.pl

There are no changes to the resulting drivers/ide/ide-disk.o binary file
(md5sum-s after and before the patch match).

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-disk: add proc_idedisk_read_smart() helper
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:37 +0000 (17:36 +0200)]
ide-disk: add proc_idedisk_read_smart() helper

* Factor out common code from proc_idedisk_read_smart_{thresholds,values}()
  to proc_idedisk_read_smart() helper.

* Rename proc_idedisk_read_smart_thresholds() to proc_idedisk_read_st()
  and proc_idedisk_read_smart_values() to proc_idedisk_read_sv().

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: unexport ide_hwifs[]
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:36 +0000 (17:36 +0200)]
ide: unexport ide_hwifs[]

All modular users have been fixed to not reference ide_hwifs[] directly.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-generic: use ide_find_port() (take 3)
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:36 +0000 (17:36 +0200)]
ide-generic: use ide_find_port() (take 3)

There should be no functional changes caused by this patch.

v2:
* Fix comment (noticed by Sergei Shtylyov).

v3:
* Fix no initalization of idx in some case. (Johann Felix Soden)

Cc: Johann Felix Soden <johfel@users.sourceforge.net>
Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: use ide_find_port() in legacy VLB host drivers (take 2)
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:36 +0000 (17:36 +0200)]
ide: use ide_find_port() in legacy VLB host drivers (take 2)

* Add IDE_HFLAG_QD_2ND_PORT host flag to indicate the need of skipping
  first ide_hwifs[] slot for the second port of QD65xx controller.

* Handle this new host flag in ide_find_port_slot().

* Convert legacy VLB host drivers to use ide_find_port().

While at it:

* Fix couple of printk()-s in qd65xx host driver to not use hwif->name.

v2:
* Fix qd65xx.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: merge ide_match_hwif() and ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:36 +0000 (17:36 +0200)]
ide: merge ide_match_hwif() and ide_find_port()

* Change ide_match_hwif() argument from 'u8 bootable' to
  'struct ide_port_info *d'.

* Move ide_match_hwif() to ide-probe.c from setup-pci.c and rename
  it to ide_find_port_slot().  Update some comments while at it.

* ide_find_port() can be now just a wrapper for ide_find_port_slot().

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove PIO "downgrade" quirk
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:36 +0000 (17:36 +0200)]
ide: remove PIO "downgrade" quirk

No need for it nowadays so remove quirk code from ide_get_best_pio_mode()
and IDE_HFLAG_PIO_DOWNGRADE host flag.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: use DIV_ROUND_UP
Julia Lawall [Sat, 26 Apr 2008 15:36:35 +0000 (17:36 +0200)]
ide: use DIV_ROUND_UP

The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

An extract of the semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@haskernel@
@@

#include <linux/kernel.h>

@depends on haskernel@
expression n,d;
@@

(
- (n + d - 1) / d
+ DIV_ROUND_UP(n,d)
|
- (n + (d - 1)) / d
+ DIV_ROUND_UP(n,d)
)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP((n),d)
+ DIV_ROUND_UP(n,d)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP(n,(d))
+ DIV_ROUND_UP(n,d)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: IDE_HFLAG_BOOTABLE -> IDE_HFLAG_NON_BOOTABLE
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:35 +0000 (17:36 +0200)]
ide: IDE_HFLAG_BOOTABLE -> IDE_HFLAG_NON_BOOTABLE

"bootable" should be the default behavior so replace
IDE_HFLAG_BOOTABLE host flag with IDE_HFLAG_NON_BOOTABLE.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoqd65xx: return error value in qd_probe()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:35 +0000 (17:36 +0200)]
qd65xx: return error value in qd_probe()

Return error value in qd_probe() and use it in qd65xx_init()
instead of checking ide_hwifs[].chipset.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoht6560b: use driver name for resource allocation
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:35 +0000 (17:36 +0200)]
ht6560b: use driver name for resource allocation

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoumc8672: don't use ide_hwifs[] in umc_set_pio_mode()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:34 +0000 (17:36 +0200)]
umc8672: don't use ide_hwifs[] in umc_set_pio_mode()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoscc_pata: store 'hwif' pointer in struct scc_ports
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:34 +0000 (17:36 +0200)]
scc_pata: store 'hwif' pointer in struct scc_ports

Replace 'unsigned char hwif_id' by 'ide_hwif_t *hwif' in struct scc_ports.
This allows us to remove ide_hwifs[] usage from scc_remove().

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocmd640: use ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:33 +0000 (17:36 +0200)]
cmd640: use ide_find_port()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agocmd640: remove cmd_drives[]
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:33 +0000 (17:36 +0200)]
cmd640: remove cmd_drives[]

* Pass 'ide_drive_t *drive' to check_prefetch(), set_prefetch_mode(),
  program_drive_counts() and cmd640_set_mode().

* Remove no longer needed cmd_drives[].

* Inline setup_device_ptrs() helper in cmd640x_init().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoau1xxx-ide: use ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:33 +0000 (17:36 +0200)]
au1xxx-ide: use ide_find_port()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoscc_pata: use ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:33 +0000 (17:36 +0200)]
scc_pata: use ide_find_port()

There should be no functional changes caused by this patch.

Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Cc: Akira Iguchi <akira2.iguchi@toshiba.co.jp>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosgiioc4: use ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:33 +0000 (17:36 +0200)]
sgiioc4: use ide_find_port()

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-pmac: use ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:33 +0000 (17:36 +0200)]
ide-pmac: use ide_find_port()

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-pmac: dynamically allocate struct pmac_ide_hwif instances (take 2)
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:32 +0000 (17:36 +0200)]
ide-pmac: dynamically allocate struct pmac_ide_hwif instances (take 2)

* Dynamically allocate struct pmac_ide_hwif instances in pmac_ide_macio_attach()
  and pmac_ide_pci_attach(), then remove no longer needed pmac_ide[].

v2:
* Build fix from Kamalesh Babulal.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoswarm: use ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:32 +0000 (17:36 +0200)]
swarm: use ide_find_port()

Cc: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: cleanup ide_find_port()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:32 +0000 (17:36 +0200)]
ide: cleanup ide_find_port()

Remove no longer needed matching against I/O base and 'base' argument.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: cleanup ide_match_hwif()
Bartlomiej Zolnierkiewicz [Sat, 26 Apr 2008 15:36:31 +0000 (17:36 +0200)]
ide: cleanup ide_match_hwif()

* Remove no longer needed matching against I/O base and 'io_base' argument.

* Move printk() to the caller and remove 'name' argument.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: make ide_pci_check_iomem() actually work
Sergei Shtylyov [Sat, 26 Apr 2008 15:36:31 +0000 (17:36 +0200)]
ide: make ide_pci_check_iomem() actually work

This function didn't actually check if a given BAR is in I/O space because of
using the bogus PCI_BASE_ADDRESS_IO_MASK (which equals ~3) to test the resource
flags instead of IORESOURCE_IO -- fix this, make ide_hwif_configure() check the
results failing if necessary, and move the printk() call to the failure path.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide/Kconfig: BLK_DEV_4DRIVES should be a tristate
Frederik Deweerdt [Sat, 26 Apr 2008 15:36:31 +0000 (17:36 +0200)]
ide/Kconfig: BLK_DEV_4DRIVES should be a tristate

The 4drives should be a tristate, the following breakage occurs otherwise:

ERROR: "probe_4drives" [drivers/ide/ide-core.ko] undefined!

The following (compile tested) patch fixes it for me.

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agofix execve()
Al Viro [Sat, 26 Apr 2008 15:36:31 +0000 (17:36 +0200)]
fix execve()

Arrgghhh...

Sorry about that, I'd been sure I'd folded that one, but it actually got
lost.  Please apply - that unbreaks execve().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agox86: section mismatch fixes, #3
Jacek Luczak [Fri, 11 Apr 2008 11:29:04 +0000 (13:29 +0200)]
x86: section mismatch fixes, #3

This patch fixes section mismatch warnings in unlock_ExtINT_logic().

WARNING: arch/x86/kernel/built-in.o(.text+0x14a92): Section mismatch in reference from the function unlock_ExtINT_logic()
to the function .init.text:find_isa_irq_pin()
The function unlock_ExtINT_logic() references
the function __init find_isa_irq_pin().
This is often because unlock_ExtINT_logic lacks a __init
annotation or the annotation of find_isa_irq_pin is wrong.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: section mismatch fixes, #2
Jacek Luczak [Fri, 11 Apr 2008 11:28:49 +0000 (13:28 +0200)]
x86: section mismatch fixes, #2

This patch fixes section mismatch warnings in smpboot_setup_io_apic().

WARNING: arch/x86/kernel/built-in.o(.text+0x11781): Section mismatch in reference from the function smpboot_setup_io_apic()
to the function .init.text:setup_IO_APIC()
The function smpboot_setup_io_apic() references
the function __init setup_IO_APIC().
This is often because smpboot_setup_io_apic lacks a __init
annotation or the annotation of setup_IO_APIC is wrong.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: pgtable_32.h - prototype and section mismatch fixes
Jacek Luczak [Sun, 13 Apr 2008 15:41:04 +0000 (17:41 +0200)]
x86: pgtable_32.h - prototype and section mismatch fixes

This patch adds extern to native_pagetable_setup_[start,done]() protypes and
fixes following section mismatch warning:

WARNING: arch/x86/mm/built-in.o(.text+0xf2): Section mismatch in reference from
the function paravirt_pagetable_setup_start()

paravirt_pagetable_setup_[start,done]() is used by __init pagetable_init().
Annotate both functions with __init.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: unlock_ExtINT_logic() - fix section mismatch warnings
Jacek Luczak [Sat, 12 Apr 2008 15:41:12 +0000 (17:41 +0200)]
x86: unlock_ExtINT_logic() - fix section mismatch warnings

Fix following warning:
WARNING: arch/x86/kernel/built-in.o(.text+0x12cc9): Section mismatch in reference from the function unlock_ExtINT_logic()

unlock_ExtINT_logic() is only used by __init check_timer(). Annotate unlock_ExtINT_logic() witch __init.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: uniq_ioapic_id - fix section mismatch warning
Jacek Luczak [Sat, 12 Apr 2008 15:39:57 +0000 (17:39 +0200)]
x86: uniq_ioapic_id - fix section mismatch warning

Fix folowing warning:
WARNING: arch/x86/kernel/built-in.o(.text+0x10799): Section mismatch in reference from the function uniq_ioapic_id()

uniq_ioapic_id() is only used by __init mp_register_ioapic(). Annotate uniq_ioapic_id() with __init.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: trampoline_32.S - switch to .cpuinit.data
Jacek Luczak [Sat, 12 Apr 2008 15:38:52 +0000 (17:38 +0200)]
x86: trampoline_32.S - switch to .cpuinit.data

This patch fixes section mismatch warnings of __cpuinit
setup_trampoline() on 32-bit host.

Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: use get_bios_ebda()
Akinobu Mita [Sat, 19 Apr 2008 14:55:20 +0000 (23:55 +0900)]
x86: use get_bios_ebda()

Use get_bios_ebda().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove duplicate get_bios_ebda() from rio.h
Akinobu Mita [Sat, 19 Apr 2008 14:55:19 +0000 (23:55 +0900)]
x86: remove duplicate get_bios_ebda() from rio.h

get_bios_ebda() exists in asm/rio.h and asm/bios_ebda.h.
This patch removes the one in asm/rio.h.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: get_bios_ebda() requires asm/io.h
Akinobu Mita [Sat, 19 Apr 2008 14:55:18 +0000 (23:55 +0900)]
x86: get_bios_ebda() requires asm/io.h

include <asm/io.h> for phys_to_virt()

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use cpumask function for present, possible, and online cpus
Akinobu Mita [Sat, 19 Apr 2008 14:55:17 +0000 (23:55 +0900)]
x86: use cpumask function for present, possible, and online cpus

cpu_online(), cpu_present(), for_each_possible_cpu(), num_possible_cpus()

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: cleanup div_sc() usage
Akinobu Mita [Sat, 19 Apr 2008 14:55:16 +0000 (23:55 +0900)]
x86: cleanup div_sc() usage

Remove the magic number in the third argment of div_sc().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: cleanup clocksource_hz2mult usage
Akinobu Mita [Sat, 19 Apr 2008 14:55:15 +0000 (23:55 +0900)]
x86: cleanup clocksource_hz2mult usage

Remove the magic number in the second argument of clocksource_hz2mult()

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: remove unnecessary memset and NULL check after alloc_bootmem()
Akinobu Mita [Sat, 19 Apr 2008 14:55:14 +0000 (23:55 +0900)]
x86: remove unnecessary memset and NULL check after alloc_bootmem()

memset and NULL check after alloc_bootmem() are unnecessary.
Because it returns zeroed memory and it never return NULL.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use bitmap library for pin_programmed
Akinobu Mita [Sat, 19 Apr 2008 14:55:13 +0000 (23:55 +0900)]
x86: use bitmap library for pin_programmed

Use bitmap library for pin_programmed rather than reinvent
bitmaps.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: use MP_intsrc_info()
Akinobu Mita [Sat, 19 Apr 2008 14:55:12 +0000 (23:55 +0900)]
x86: use MP_intsrc_info()

Remove duplicate code by using MP_intsrc_info() in mpparse.c

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>