22 May, 2010

1 commit


19 May, 2010

2 commits


18 May, 2010

1 commit


03 Apr, 2010

1 commit

  • We don't use the normal hotplug mechanism because it doesn't work. It will
    load the module some time after the device appears, but that's not good
    enough for us -- we need the driver loaded _immediately_ because otherwise
    the NIC driver may just abort and then the phy 'device' goes away.

    [bwh: s/phy/mdio/ in module alias, kerneldoc for struct mdio_device_id]

    Signed-off-by: David Woodhouse
    Signed-off-by: Ben Hutchings
    Acked-by: Andy Fleming
    Signed-off-by: David S. Miller

    David Woodhouse
     

23 Sep, 2009

2 commits

  • This makes it consistent with other buses (platform, i2c, vio, ...). I'm
    not sure why we use the prefixes, but there must be a reason.

    This was easy enough to do it, and I did it.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Benjamin Herrenschmidt
    Cc: Dmitry Torokhov
    Cc: Samuel Ortiz
    Cc: "John W. Linville"
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • With this patch spi drivers can use standard spi_driver.id_table and
    MODULE_DEVICE_TABLE() mechanisms to bind against the devices. Just like
    we do with I2C drivers.

    This is useful when a single driver supports several variants of devices
    but it is not possible to detect them in run-time (like non-JEDEC chips
    probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is
    overkill.

    This patch also makes life a lot easier on OpenFirmware platforms, since
    with OF we extensively use proper device IDs in modaliases.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

25 Mar, 2009

1 commit

  • Now platform_device is being widely used on SoC processors where the
    peripherals are attached to the system bus, which is simple enough.

    However, silicon IPs for these SoCs are usually shared heavily across
    a family of processors, even products from different companies. This
    makes the original simple driver name based matching insufficient, or
    simply not straight-forward.

    Introduce a module id table for platform devices, and makes it clear
    that a platform driver is able to support some shared IP and handle
    slight differences across different platforms (by 'driver_data').
    Module alias is handled automatically when a MODULE_DEVICE_TABLE()
    is defined.

    To not disturb the current platform drivers too much, the matched id
    entry is recorded and can be retrieved by platform_get_device_id().

    Signed-off-by: Eric Miao
    Cc: Kay Sievers
    Cc: Ben Dooks
    Signed-off-by: Greg Kroah-Hartman

    Eric Miao
     

28 Jan, 2009

1 commit


29 Oct, 2008

1 commit


17 Oct, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (32 commits)
    Input: wm97xx - update email address for Liam Girdwood
    Input: i8042 - add Thinkpad R31 to nomux list
    Input: move map_to_7segment.h to include/linux
    Input: ads7846 - fix cache line sharing issue
    Input: cm109 - add missing newlines to messages
    Input: document i8042.debug in kernel-parameters.txt
    Input: keyboard - fix potential out of bound access to key_map
    Input: psmouse - add OLPC touchpad driver
    Input: psmouse - tweak PSMOUSE_DEFINE_ATTR to support raw set callbacks
    Input: psmouse - add psmouse_queue_work() for ps/2 extension to make use of
    Input: psmouse - export psmouse_set_state for ps/2 extensions to use
    Input: ads7846 - introduce .gpio_pendown to get pendown state
    Input: ALPS - add signature for DualPoint found in Dell Latitude E6500
    Input: serio_raw - allow attaching to translated (SERIO_I8042XL) ports
    Input: cm109 - don't use obsolete logging macros
    Input: atkbd - expand Latitude's force release quirk to other Dells
    Input: bf54x-keys - add power management support
    Input: atmel_tsadcc - improve accuracy
    Input: convert drivers to use strict_strtoul()
    Input: appletouch - handle geyser 3/4 status bits
    ...

    Linus Torvalds
     

15 Oct, 2008

1 commit


13 Oct, 2008

1 commit

  • This makes modpost handle MODULE_DEVICE_TABLE(dmi, xxxx).

    I had to change the string pointers in the match table to char arrays,
    and picked a size of 79 bytes almost at random -- do we need to make it
    bigger than that? I was a bit concerned about the 'bloat' this
    introduces into the match tables, but they should all be __initdata so
    it shouldn't matter too much.

    (Actually, modpost does go through the relocations and look at most of
    them; it wouldn't be impossible to make it handle string pointers -- but
    doesn't seem to be worth the effort, since they're __initdata).

    Signed-off-by: David Woodhouse

    David Woodhouse
     

30 Jul, 2008

1 commit


14 Jul, 2008

2 commits

  • css_device_id exists, so use it for determining the right driver
    (and add a match_flags which is always 1 for valid types).

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Cornelia Huck
     
  • Add modalias and subchannel type attributes for all subchannels.
    I/O subchannel specific attributes are now created in
    io_subchannel_probe(). modalias and subchannel type are also
    added to the uevent for the css bus. Also make the css modalias
    known.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Cornelia Huck
     

26 May, 2008

1 commit

  • Align i2c_device_id.driver_data to 8 bytes to not fail on crossbuilds.

    (Added in d2653e92732bd3911feff6bee5e23dbf959381db.)

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jean Delvare

    Jiri Slaby
     

30 Apr, 2008

1 commit

  • Based on earlier work by Jon Smirl and Jochen Friedrich.

    This patch allows new-style i2c chip drivers to have alias names using
    the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
    point, the old i2c driver binding scheme (driver_name/type) is still
    supported.

    Signed-off-by: Jean Delvare
    Cc: Jochen Friedrich
    Cc: Jon Smirl
    Cc: Kay Sievers

    Jean Delvare
     

06 Feb, 2008

1 commit

  • FATAL: drivers/bluetooth/btsdio: sizeof(struct sdio_device_id)=12 is not a modulo of the size of section __mod_sdio_device_table=30.
    Fix definition of struct sdio_device_id in mod_devicetable.h

    m68k has 16bit alignment for unsigned long.

    Cc: Geert Uytterhoeven
    Cc: Sam Ravnborg
    Cc: Pierre Ossman
    CC: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     

23 Oct, 2007

1 commit

  • This attempts to implement a "virtual I/O" layer which should allow
    common drivers to be efficiently used across most virtual I/O
    mechanisms. It will no-doubt need further enhancement.

    The virtio drivers add buffers to virtio queues; as the buffers are consumed
    the driver "interrupt" callbacks are invoked.

    There is also a generic implementation of config space which drivers can query
    to get setup information from the host.

    Signed-off-by: Rusty Russell
    Cc: Dor Laor
    Cc: Arnd Bergmann

    Rusty Russell
     

14 Oct, 2007

1 commit

  • I2C devices do not have any form of ID as PCI or USB devices have.
    No driver uses "MODULE_DEVICE_TABLE(i2c, ...)" because it doesn't
    make sense. So we can get rid of struct i2c_device_id and the
    associated support code.

    Signed-off-by: Jean Delvare
    Cc: Greg KH

    Jean Delvare
     

12 Oct, 2007

1 commit

  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (867 commits)
    [SKY2]: status polling loop (post merge)
    [NET]: Fix NAPI completion handling in some drivers.
    [TCP]: Limit processing lost_retrans loop to work-to-do cases
    [TCP]: Fix lost_retrans loop vs fastpath problems
    [TCP]: No need to re-count fackets_out/sacked_out at RTO
    [TCP]: Extract tcp_match_queue_to_sack from sacktag code
    [TCP]: Kill almost unused variable pcount from sacktag
    [TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L
    [TCP]: Add bytes_acked (ABC) clearing to FRTO too
    [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2
    [NETFILTER]: x_tables: add missing ip6t_modulename aliases
    [NETFILTER]: nf_conntrack_tcp: fix connection reopening
    [QETH]: fix qeth_main.c
    [NETLINK]: fib_frontend build fixes
    [IPv6]: Export userland ND options through netlink (RDNSS support)
    [9P]: build fix with !CONFIG_SYSCTL
    [NET]: Fix dev_put() and dev_hold() comments
    [NET]: make netlink user -> kernel interface synchronious
    [NET]: unify netlink kernel socket recognition
    [NET]: cleanup 3rd argument in netlink_sendskb
    ...

    Fix up conflicts manually in Documentation/feature-removal-schedule.txt
    and my new least favourite crap, the "mod_devicetable" support in the
    files include/linux/mod_devicetable.h and scripts/mod/file2alias.c.

    (The latter files seem to be explicitly _designed_ to get conflicts when
    different subsystems work with them - that have an absolutely horrid
    lack of subsystem separation!)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 Oct, 2007

1 commit

  • SSB is an SoC bus used in a number of embedded devices. The most
    well-known of these devices is probably the Linksys WRT54G, but there
    are others as well. The bus is also used internally on the BCM43xx
    and BCM44xx devices from Broadcom.

    This patch also includes support for SSB ID tables in modules, so
    that SSB drivers can be loaded automatically.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     

24 Sep, 2007

1 commit


18 Aug, 2007

1 commit


24 Jul, 2007

1 commit

  • Modify modpost (file2alias.c) to add acpi*:XYZ0001: alias in modules.alias
    like:
    grep acpi /lib/modules/2.6.22-rc4-default/modules.alias
    alias acpi*:SNY5001:* sony_laptop
    alias acpi*:SNY6001:* sony_laptop
    for e.g. the sony_laptop module.
    This module matches against all ACPI devices with a HID or CID of SNY5001
    or SNY6001

    Export an uevent and modalias sysfs file containing the string:
    [MODALIAS=]acpi:PNP0C0C:
    additional CIDs are concatenated at the end.

    Signed-off-by: Thomas Renninger
    Signed-off-by: Kay Sievers
    Signed-off-by: Len Brown

    Thomas Renninger
     

03 May, 2007

1 commit


17 Feb, 2007

2 commits


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 Sep, 2006

1 commit

  • Add a bus for the adjunct processor interface. Up to 64 devices can
    be connect to the ap bus interface, each device with 16 domains. That
    makes 1024 message queues. The interface is asynchronous, the answer
    to a message sent to a queue needs to be received at some later point
    in time. Unfortunately the interface does not provide interrupts when
    a message reply is pending. So the ap bus needs to implement some
    fancy polling, each active queue is polled once per 1/HZ second or
    continuously if an idle cpus exsists and the poll thread is activ
    (see poll_thread parameter).

    The ap bus uses the sysfs path /sys/bus/ap and has two bus attributes,
    ap_domain and config_time. The ap_domain selects one of the 16 domains
    to be used for this system. This limits the maximum number of ap devices
    to 64. The config_time attribute contains the number of seconds between
    two ap bus scans to find new devices.

    The ap bus uses the modalias entries of the form "ap:tN" to autoload
    the ap driver for hardware type N. Currently known types are:
    3 - PCICC, 4 - PCICA, 5 - PCIXCC, 6 - CEX2A and 7 - CEX2C.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Ralph Wuerthner
    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     

26 Apr, 2006

1 commit


29 Oct, 2005

1 commit


02 Oct, 2005

1 commit


26 Sep, 2005

1 commit


30 Aug, 2005

2 commits

  • Make MODULE_DEVICE_TABLE work for vio devices.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • * ieee1394_device_id has kernel_ulong_t field after an odd number of
    __u32 ones. Since mod_devicetable.h is included both from kernel and
    from host build helper, we may be in trouble if we are building on
    32bit host for 64bit target - userland sees unsigned long long,
    kernel sees unsigned long and while their sizes match, alignments
    might not. Fixed by forcing alignment. Fortunately, almost nobody
    else needs that - the rest of such fields is naturally aligned as it
    is.

    * of_device_id has void * in it. Host userland helpers need
    kernel_ulong_t instead, since their void * might have nothing to do
    with the kernel one. Fixed in the same way it's done for similar
    problems in pcmcia_device_id (ifdef __KERNEL__).

    * pcmcia_device_id has the same problem as ieee1394_device_id. Fixed
    the same way.

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

    Al Viro
     

07 Jul, 2005

1 commit

  • This converts the usage of struct of_match to struct of_device_id,
    similar to pci_device_id. This allows a device table to be generated,
    which can be parsed by depmod(8) to generate a map file for module
    loading.

    In order for hotplug to work with macio devices, patches to
    module-init-tools and hotplug must be applied. Those patches are
    available at:

    ftp://ftp.suse.com/pub/people/jeffm/linux/macio-hotplug/

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     

28 Jun, 2005

2 commits