01 Sep, 2009

1 commit


03 Aug, 2009

1 commit


13 Jun, 2009

1 commit


02 May, 2009

1 commit

  • In the near future, the driver core is going to not allow direct access
    to the driver_data pointer in struct device. Instead, the functions
    dev_get_drvdata() and dev_set_drvdata() should be used. These functions
    have been around since the beginning, so are backwards compatible with
    all older kernel versions.

    Cc: netdev@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    Greg Kroah-Hartman
     

27 Feb, 2009

1 commit


18 Feb, 2009

2 commits

  • Impact: Rename a local variable resp. remove a redundant variable and
    while being at it use more unform loop constructs.

    Fix this sparse warning:
    drivers/net/tulip/de4x5.c:3944:13: warning: symbol 'i' shadows an earlier one
    drivers/net/tulip/de4x5.c:3938:9: originally declared here
    drivers/net/tulip/media.c:72:21: warning: symbol 'i' shadows an earlier one
    drivers/net/tulip/media.c:54:13: originally declared here
    drivers/net/tulip/media.c:134:21: warning: symbol 'i' shadows an earlier one
    drivers/net/tulip/media.c:117:13: originally declared here

    Signed-off-by: Hannes Eder
    Signed-off-by: David S. Miller

    Hannes Eder
     
  • Impact: Use 'static const char[]' instead of 'static char[]' and while
    being at it add a KERN_INFO prefix.

    Fix this warning:
    drivers/net/tulip/de4x5.c: In function 'de4x5_hw_init':
    drivers/net/tulip/de4x5.c:1268: warning: format not a string literal and no format arguments
    drivers/net/tulip/winbond-840.c: In function 'w840_init':
    drivers/net/tulip/winbond-840.c:1666: warning: format not a string literal and no format arguments

    Signed-off-by: Hannes Eder
    Signed-off-by: David S. Miller

    Hannes Eder
     

08 Jan, 2009

1 commit


11 Nov, 2008

1 commit


04 Nov, 2008

1 commit


28 Oct, 2008

1 commit

  • This converts pretty much everything to print_mac. There were
    a few things that had conflicts which I have just dropped for
    now, no harm done.

    I've built an allyesconfig with this and looked at the files
    that weren't built very carefully, but it's a huge patch.

    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     

23 Sep, 2008

1 commit


23 Jul, 2008

1 commit

  • IFF_PROMISC flag shouldn't be set or cleared by drivers, because
    whether device be promisc mode is decided by how many upper layer
    callers being referenced to it.
    And the promisc changing feature of de4x5 ioctl is developer debug
    feature, we can remove it now.

    Signed-off-by: Wang Chen
    Acked-by: Grant Grundler
    Signed-off-by: Jeff Garzik

    Wang Chen
     

29 Apr, 2008

1 commit


29 Jan, 2008

2 commits


13 Jan, 2008

1 commit

  • * (trivial) endianness annotations
    * don't bother with del_timer() from the inside of timer handler itself
    * disable_ast() really ought to do del_timer_sync(), not del_timer()
    * clean the timer handling in general.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Garzik

    Al Viro
     

16 Oct, 2007

1 commit


11 Oct, 2007

4 commits


12 Jul, 2007

1 commit

  • Instead of all drivers reading pci config space to get the revision
    ID, they can now use the pci_device->revision member.

    This exposes some issues where drivers where reading a word or a dword
    for the revision number, and adding useless error-handling around the
    read. Some drivers even just read it for no purpose of all.

    In devices where the revision ID is being copied over and used in what
    appears to be the equivalent of hotpath, I have left the copy code
    and the cached copy as not to influence the driver's performance.

    Compile tested with make all{yes,mod}config on x86_64 and i386.

    Signed-off-by: Auke Kok
    Acked-by: Dave Jones
    Signed-off-by: Greg Kroah-Hartman

    Auke Kok
     

09 Jul, 2007

1 commit


28 Apr, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)
    [SCSI] SUNESP: Complete driver rewrite to version 2.0
    [SPARC64]: Convert PCI over to generic struct iommu/strbuf.
    [SPARC]: device_node name constification fallout
    [SPARC64]: Convert SBUS over to generic iommu/strbuf structs.
    [SPARC64]: Add generic iommu and strbuf structs to iommu.h
    [SPARC64]: Consolidate {sbus,pci}_iommu_arena.
    [SPARC]: Make device_node name and type const
    [SPARC64]: constify some paramaters of OF routines
    [TIGON3]: of_get_property() returns const.
    [SPARC64]: Fix PCI rework to adhere to of_get_property() const return.
    [SPARC64]: Document and fix calculation of pages_avail.
    [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c
    [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().
    [SPARC64]: Add proper header file extern for cmdline_memory_size.
    [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()
    [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c
    [SPARC64]: Give move verbose show_mem() output just like i386.
    [SPARC64]: Mark show_mem() printk's with KERN_INFO.
    [SPARC64]: Kill kvaddr_to_phys() and friends.
    [SPARC64]: Privatize sun4u_get_pte() and fix name.
    ...

    Linus Torvalds
     

26 Apr, 2007

2 commits


13 Nov, 2006

1 commit


07 Oct, 2006

1 commit


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
     

27 Sep, 2006

1 commit

  • Add modalias attribute support for the almost forgotten now EISA bus and
    (at least some) EISA-aware modules.

    The modalias entry looks like (for an 3c509 NIC):

    eisa:sTCM5093

    and the in-module alias like:

    eisa:sTCM5093*

    The patch moves struct eisa_device_id declaration from include/linux/eisa.h
    to include/linux/mod_devicetable.h (so that the former now #includes the
    latter), adds proper MODULE_DEVICE_TABLE(eisa, ...) statements for all
    drivers with EISA IDs I found (some drivers already have that DEVICE_TABLE
    declared), and adds recognision of __mod_eisa_device_table to
    scripts/mod/file2alias.c so that proper modules.alias will be generated.

    There's no support for /lib/modules/$kver/modules.eisamap, as it's not used
    by any existing tools, and because with in-kernel modalias mechanism those
    maps are obsolete anyway.

    The rationale for this patch is:

    a) to make EISA bus to act as other busses with modalias
    support, to unify driver loading

    b) to foget about EISA finally - with this patch, kernel
    (who still supports EISA) will be the only one who knows
    how to choose the necessary drivers for this bus ;)

    [akpm@osdl.org: fix the kbuild bit]
    Signed-off-by: Michael Tokarev
    Cc: Rusty Russell
    Cc: Randy Dunlap
    Acked-the-net-bits-by: Jeff Garzik
    Acked-the-tulip-bit-by: Valerie Henson
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Tokarev
     

20 Aug, 2006

1 commit


03 Jul, 2006

1 commit


01 Jul, 2006

1 commit


27 May, 2006

1 commit


29 Mar, 2006

2 commits


28 Mar, 2006

1 commit

  • This removes statically assigned platform numbers and reworks the
    powerpc platform probe code to use a better mechanism. With this,
    board support files can simply declare a new machine type with a
    macro, and implement a probe() function that uses the flattened
    device-tree to detect if they apply for a given machine.

    We now have a machine_is() macro that replaces the comparisons of
    _machine with the various PLATFORM_* constants. This commit also
    changes various drivers to use the new macro instead of looking at
    _machine.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

11 Sep, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds