07 Feb, 2008

3 commits

  • Add detection for IT87XX SuperIO chip and disabling its POST feature, which
    made noise on parallel port's pins.

    Signed-off-by: Petr Cvek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Petr Cvek
     
  • Fix wrong netmos 9855 serial port configuration.

    On loading only one serial port was present and it wasn't working. After
    looking in the data sheet I realized that the base address was wrong. For
    further reference here is lspci and relevant dmesg output:

    02:00.0 Communication controller: NetMos Technology PCI 9855 Multi-I/O
    Controller (rev 01) (prog-if 02)
    Subsystem: LSI Logic / Symbios Logic Unknown device 0022
    Flags: medium devsel, IRQ 19
    I/O ports at df00 [size=8]
    I/O ports at de00 [size=8]
    I/O ports at dd00 [size=8]
    I/O ports at dc00 [size=8]
    I/O ports at db00 [size=8]
    I/O ports at da00 [size=16]

    parport1: PC-style at 0xdd00 [PCSPP,TRISTATE]
    parport2: PC-style at 0xdf00 [PCSPP,TRISTATE,EPP]
    0000:02:00.0: ttyS0 at I/O 0xdb00 (irq = 19) is a 16550A
    0000:02:00.0: ttyS1 at I/O 0xda00 (irq = 19) is a 16550A

    Signed-off-by: Christian Pellegrin
    Cc: Thomas Richter
    Cc: Bjorn Helgaas
    Cc: Martin Schitter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Pellegrin
     
  • Added pci device id for the Quatech SPPXP-100 ExpressCard - 0x278 - to
    include/linux/pci_id.h

    Modified drivers/parport/parport_pc.c to support the Quatech SPPXP-100 Parallel port PCI ExpressCard

    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Luís P Mendes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luís P Mendes
     

03 Feb, 2008

1 commit


18 Dec, 2007

1 commit


24 Oct, 2007

3 commits


19 Oct, 2007

1 commit

  • The sysctl binary paths don't look as if they even code work, .data is not
    filled in, and all of the proc_handlers look at extra1 and there is not
    strategy routine.

    So just kill the binary paths.

    In addition this patch removes the setting of extra1 on directories. It
    doesn't look like the parport code ever examines it, and it's bad sysctl form.

    [bunk@kernel.org: remove parport_device_num()]
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

01 Aug, 2007

1 commit

  • http://bugzilla.kernel.org/show_bug.cgi?id=8821 reports a might_sleep()
    warning due to parport_pc_exit() running platform_device_unregister() while
    holding ports_lock.

    Just remove the locking: nobody else can access ports_list during module_exit.

    Cc: "Mike Sharkey"
    Cc: Tim Waugh
    Cc: Stas Sergeev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

20 Jul, 2007

2 commits

  • anything that wants working dma-mapping won't work
    parport_pc won't work on m68k unless we have ISA

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

    Here is a short excerpt of the semantic patch performing
    this transformation:

    @@
    type T2;
    expression x;
    identifier f,fld;
    expression E;
    expression E1,E2;
    expression e1,e2,e3,y;
    statement S;
    @@

    x =
    - kmalloc
    + kzalloc
    (E1,E2)
    ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
    - memset((T2)x,0,E1);

    @@
    expression E1,E2,E3;
    @@

    - kzalloc(E1 * E2,E3)
    + kcalloc(E1,E2,E3)

    [akpm@linux-foundation.org: get kcalloc args the right way around]
    Signed-off-by: Yoann Padioleau
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Bryan Wu
    Acked-by: Jiri Slaby
    Cc: Dave Airlie
    Acked-by: Roland Dreier
    Cc: Jiri Kosina
    Acked-by: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Pierre Ossman
    Cc: Jeff Garzik
    Cc: "David S. Miller"
    Acked-by: Greg KH
    Cc: James Bottomley
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

17 Jul, 2007

2 commits

  • The IO port range requested by parport_pc.c:sio_ite_8872_probe is too small.
    The IO-ports of ttyS1 (0x2f8) will be missconfigured by the ITE-chip. The ITE
    starts looking for the chip a 0x2a0. An IO-portrange of 32 will not overwrite
    the ports of ttyS1. Therefore register 0x60 should be written with
    0xe5000000, enabling the ITE and setting IO-portsize to 32 bytes.

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

    Niels de Vos
     
  • Use menuconfigs instead of menus, so the whole menu can be disabled at once
    instead of going through all options.

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Engelhardt
     

28 May, 2007

1 commit


17 May, 2007

1 commit

  • alpha:

    drivers/parport/parport_pc.c: In function 'parport_pc_fifo_write_block_dma':
    drivers/parport/parport_pc.c:636: warning: implicit declaration of function 'dma_map_single'
    drivers/parport/parport_pc.c:637: error: 'DMA_TO_DEVICE' undeclared (first use in this function)
    drivers/parport/parport_pc.c:637: error: (Each undeclared identifier is reported only once
    drivers/parport/parport_pc.c:637: error: for each function it appears in.)

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

    Andrew Morton
     

10 May, 2007

1 commit


09 May, 2007

3 commits

  • drivers/parport/parport_serial.c:402: warning: ignoring return value of 'pci_enable_device', declared with attribute warn_unused_result

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Give legacy parallel ports a platform device in the device tree.

    This is a quick and dirty implementation; it doesn't actually convert the
    legacy parport code to the device driver model (by splitting out probing from
    device creation). But at least parallel port device drivers will finally have
    a device to work with.

    Signed-off-by: Jean Delvare
    Signed-off-by: David Brownell
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • Currently a parport_driver can't get a handle on the device node for the
    underlying parport (PNPACPI, PCI, etc). That prevents correct placement of
    sysfs child nodes, which can affect things like power management.

    This patch adds a field to "struct parport" pointing to that device node, and
    updates non-legacy port drivers to initialize that device pointer. That field
    replaces the analagous PCI-only support in parport_pc.

    [akpm@linux-foundation.org: fix powerpc build]
    Signed-off-by: David Brownell
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

24 Apr, 2007

1 commit


21 Feb, 2007

1 commit

  • WARNING: drivers/parport/parport_pc.o - Section mismatch: reference
    to .init.text: from .text between 'parport_pc_probe_port' (at offset
    0x14f7) and 'parport_pc_unregister_port'

    parport_dma_probe() cannot be declared __devinit as it is called
    from parport_pc_probe_port() which isn't.

    Signed-off-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     

15 Feb, 2007

3 commits

  • The semantic effect of insert_at_head is that it would allow new registered
    sysctl entries to override existing sysctl entries of the same name. Which is
    pain for caching and the proc interface never implemented.

    I have done an audit and discovered that none of the current users of
    register_sysctl care as (excpet for directories) they do not register
    duplicate sysctl entries.

    So this patch simply removes the support for overriding existing entries in
    the sys_sysctl interface since no one uses it or cares and it makes future
    enhancments harder.

    Signed-off-by: Eric W. Biederman
    Acked-by: Ralf Baechle
    Acked-by: Martin Schwidefsky
    Cc: Russell King
    Cc: David Howells
    Cc: "Luck, Tony"
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Andi Kleen
    Cc: Jens Axboe
    Cc: Corey Minyard
    Cc: Neil Brown
    Cc: "John W. Linville"
    Cc: James Bottomley
    Cc: Jan Kara
    Cc: Trond Myklebust
    Cc: Mark Fasheh
    Cc: David Chinner
    Cc: "David S. Miller"
    Cc: Patrick McHardy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

11 Dec, 2006

1 commit

  • Refactor Kconfig content to maximize nesting of menus by menuconfig and
    xconfig.

    Tested by simultaneously running `make xconfig` with and without
    patch, and comparing displays.

    Signed-off-by: Don Mullis
    Signed-off-by: Randy Dunlap
    Cc: Sam Ravnborg
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Don Mullis
     

08 Dec, 2006

2 commits

  • When CONFIG_HOTPLUG=n, parport_pc calls some __devinit == __init code that
    could be discarded. These calls are made from parport_irq_probe(), which is
    called from parport_pc_probe_port(), which is an exported symbol, so the calls
    could (possibly) happen after init time.

    WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x31d) and 'parport_pc_probe_port'
    WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x346) and 'parport_pc_probe_port'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add support for the parallel port (implemented as separate PCI function) on
    the Oxford Semiconductor OX16PCI952.

    Signed-off-by: Ryan Underwood
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryan Underwood
     

05 Dec, 2006

2 commits


17 Nov, 2006

1 commit


09 Oct, 2006

1 commit


08 Oct, 2006

1 commit

  • m68k_handle_int() split in two functions: __m68k_handle_int() takes
    pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs
    *.

    Places where we used to call m68k_handle_int() recursively with the same
    pt_regs have simply lost the second argument, the rest is switched to
    __m68k_handle_int().

    The rest of patch is just dropping pt_regs * where needed.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

04 Oct, 2006

1 commit


03 Oct, 2006

1 commit

  • The last change for partport_pc did fix the common case for all PowerMacs,
    but it broke the case for PCI multiport IO cards. In fact, the config
    option CONFIG_PARPORT_PC_SUPERIO=y lead to a hard crash when cups probed
    the parport driver. It enables the winbond and smsc probing.

    Remove the PARPORT_BASE check again, parport_pc_find_nonpci_ports() will
    take care of it. All powerpc configs should have
    CONFIG_PARPORT_PC_SUPERIO=n, the code did not find anything on the chrp
    boards we tested it on.

    Tested on a G4/466 with a PCI card:

    0001:10:13.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550])
    Subsystem: Timedia Technology Co Ltd Unknown device 5079
    Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
    Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Adam Belay
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     

01 Oct, 2006

1 commit

  • ppc can boot one single binary on prep, chrp and pmac boards. ppc64 can
    boot one single binary on pseries and G5 boards. pmac has no legacy io,
    probing for PC style legacy hardware (or accessing the legacy io area
    regulary) may lead to a hard crash:

    * add check for parport_pc, exit on pmac. 32bit chrp has no
    ->check_legacy_ioport, the probe is always called. 64bit chrp has
    check_legacy_ioport, check for a "parallel" node

    * add check for isapnp, only PReP boards may have real ISA slots. 32bit
    PReP will have no ->check_legacy_ioport, the probe is always called.

    * update code in i8042_platform_init. Run ->check_legacy_ioport first,
    always call request_region. No functional change. Remove whitespace
    before i8042_reset init.

    Signed-off-by: Olaf Hering
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Adam Belay
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     

30 Sep, 2006

1 commit


03 Jul, 2006

1 commit


01 Jul, 2006

1 commit