22 Dec, 2011

1 commit

  • This moves the 'cpu sysdev_class' over to a regular 'cpu' subsystem
    and converts the devices to regular devices. The sysdev drivers are
    implemented as subsystem interfaces now.

    After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Userspace relies on events and generic sysfs subsystem infrastructure
    from sysdev devices, which are made available with this conversion.

    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Arnd Bergmann
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Borislav Petkov
    Cc: Tigran Aivazian
    Cc: Len Brown
    Cc: Zhang Rui
    Cc: Dave Jones
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Andrew Morton
    Cc: Arjan van de Ven
    Cc: "Rafael J. Wysocki"
    Cc: "Srivatsa S. Bhat"
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

16 Dec, 2011

1 commit


15 Dec, 2011

7 commits

  • After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Cc: Jeremy Fitzhardinge
    Cc: Konrad Rzeszutek Wilk
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Cc: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Cc: Matthew Garrett
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Cc: Doug Thompson
    Cc: Paul Gortmaker
    Cc: Lucas De Marchi
    Cc: Borislav Petkov
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Cc: Thomas Gleixner
    Cc: Paul Gortmaker
    Cc: Arnd Bergmann
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • All sysdev classes and sysdev devices will converted to regular devices
    and buses to properly hook userspace into the event processing.

    There is no interesting difference between a 'sysdev' and 'device' which
    would justify to roll an entire own subsystem with different userspace
    export semantics. Userspace relies on events and generic sysfs subsystem
    infrastructure from sysdev devices, which are currently not properly
    available.

    Every converted sysdev class will create a regular device with the class
    name in /sys/devices/system and all registered devices will becom a children
    of theses devices.

    For compatibility reasons, the sysdev class-wide attributes are created
    at this parent device. (Do not copy that logic for anything new, subsystem-
    wide properties belong to the subsystem, not to some fake parent device
    created in /sys/devices.)

    Every sysdev driver is implemented as a simple subsystem interface now,
    and no longer called a driver.

    After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • It turns out that some memory allocators use kobjects, which use krefs,
    and kref.h was wanting to figure out the address of kfree(), which ended
    up in a loop.

    kfree was only being needed for a warning to tell the caller that they
    were doing something stupid. Now we just move that warning into the
    comments for the functions, which results in a bit more fun as everyone
    enjoys digging for people to mock at times of boredom.

    So, remove the dependancy of slab.h on kref.h, and fix up the other
    include file as well (we really only need bug.h and atomic.h, not
    types.h).

    Reported-by: Stephen Rothwell
    Cc: Peter Zijlstra
    Cc: Alexey Dobriyan
    Cc: Eric Dumazet
    Cc: Ingo Molnar
    Cc: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

14 Dec, 2011

3 commits

  • Commit 1b0b3b9980e ("kref: fix CPU ordering with respect to krefs")
    wrongly adds memory barriers to kref.

    It states:

    some atomic operations are only atomic, not ordered. Thus a CPU is allowed
    to reorder memory references to an object to before the reference is
    obtained. This fixes it.

    While true, it fails to show why this is a problem. I say it is not a
    problem because if there is a race with kref_put() such that we could
    end up referencing a free'd object without this memory barrier, we
    would still have that race with the memory barrier.

    The kref_put() in question could complete (and free the object) before
    the atomic_inc() and we'd still be up shit creek.

    The kref_init() case is even worse, if your object is published at this
    time you're so wrong the memory barrier won't make a difference what
    so ever. If its not published, the act of publishing should include
    the needed barriers/locks to make sure all writes prior to the act of
    publishing are complete such that others will only observe a complete
    object.

    Cc: Alexey Dobriyan
    Cc: Eric Dumazet
    Cc: Ingo Molnar
    Cc: Oliver Neukum
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     
  • Less lines of code is better.

    Cc: Alexey Dobriyan
    Cc: Eric Dumazet
    Cc: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     
  • These are tiny functions, there's no point in having them out-of-line.

    Cc: Alexey Dobriyan
    Cc: Eric Dumazet
    Cc: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-8eccvi2ur2fzgi00xdjlbf5z@git.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     

13 Dec, 2011

5 commits


10 Dec, 2011

5 commits


27 Nov, 2011

6 commits

  • This patch converts the drivers in drivers/uio/* to use the
    module_platform_driver() macro which makes the code smaller and a bit
    simpler.

    Cc: Uwe Kleine-König
    Cc: Magnus Damm
    Cc: Amit Chatterjee
    Cc: Pratheesh Gangadhar
    Signed-off-by: Axel Lin
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     
  • We should provide topology information to userland even if it's not
    very interesting. The current code appears to work properly for !SMP
    (tested on i386).

    Reference: http://bugs.debian.org/649216
    Reported-by: Marcus Osdoba
    Signed-off-by: Ben Hutchings
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     
  • The cast here causes a Sparse warning:
    fs/debugfs/file.c:561:42: warning: cast removes address space of expression
    fs/debugfs/file.c:561:42: warning: incorrect type in argument 1 (different address spaces)
    fs/debugfs/file.c:561:42: expected void const volatile [noderef] *addr
    fs/debugfs/file.c:561:42: got void *

    It's redundant to cast it to a (void *) anyway when it is already a
    (void __iomem *).

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • Most of the drivers/*/Kconfig files define a menu entry. Define
    a menu item for hv too such that it becomes uniform with e.g.
    virtio for at least "make xconfig" and "make menuconfig" users.

    Signed-off-by: Bart Van Assche
    Cc: Greg Kroah-Hartman
    Cc: James Bottomley
    Cc: K. Y. Srinivasan
    Signed-off-by: Greg Kroah-Hartman

    Bart Van Assche
     
  • Modify the way we initialize the vmbus driver so that all the hyper-v drivers
    can be linked with the kernel and still ensure that the vmbus driver
    is fully initialized before the drivers that depend upon the vmbus
    driver attempt to initialize.

    Signed-off-by: K. Y. Srinivasan
    Signed-off-by: Haiyang Zhang
    Signed-off-by: Greg Kroah-Hartman

    K. Y. Srinivasan
     
  • Move the "Device Drivers/Microsoft Hyper-V guest support"
    menu entry up such that it appears immediately below virtio
    (KVM and lguest guest driver support) instead of after a
    hypervisor driver menu entry.

    Signed-off-by: Bart Van Assche
    Cc: Greg Kroah-Hartman
    Cc: James Bottomley
    Cc: K. Y. Srinivasan
    Signed-off-by: Greg Kroah-Hartman

    Bart Van Assche
     

23 Nov, 2011

1 commit


19 Nov, 2011

11 commits

  • The previous patch left an unused variable, I apologize.

    Signed-off-by: Alessandro Rubini
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • Signed-off-by: Alessandro Rubini
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This a use example of the regs32 utilities in debugfs, although
    this fuse use ":" as separator between name and value, and debugs
    uses "=" (as it looked to me a more common practice).

    Signed-off-by: Alessandro Rubini
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • Some debugfs file I deal with are mostly blocks of registers,
    i.e. lines of the form " = 0x". Some files are only
    registers, some include registers blocks among other material. This
    patch introduces data structures and functions to deal with both
    cases. I expect more users of this over time.

    Signed-off-by: Alessandro Rubini
    Acked-by: Giancarlo Asnaghi
    Cc: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This converts the remaining USB drivers in the kernel to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Guenter Roeck
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Till Harbaum
    Cc: Karsten Keil
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Lauro Ramos Venancio
    Cc: Aloisio Almeida Jr
    Cc: Samuel Ortiz
    Cc: Steve Glendinning
    Cc: Florian Tobias Schandinat
    Cc: Evgeniy Polyakov
    Cc: Wim Van Sebroeck
    Cc: "David S. Miller"
    Cc: Jesper Juhl
    Cc: Artem Bityutskiy
    Cc: Jamie Iles
    Cc: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in sound/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Daniel Mack
    Cc: Clemens Ladisch
    Cc: Torsten Schenk
    Cc: Paul Gortmaker
    Cc: Karsten Wiese
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/hid/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Jiri Kosina
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/input/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Dmitry Torokhov
    Cc: Ville Syrjala
    Cc: Henk Vergonet
    Cc: Alessandro Rubini
    Cc: Henrik Rydberg
    Cc: "Magnus Hörlin"
    Cc: Chris Moeller
    Cc: Christoph Fritz
    Cc: Lucas De Marchi
    Cc: Jesper Juhl
    Cc: Edwin van Vliet
    Cc: Ping Cheng
    Cc: Eduard Hasenleithner
    Cc: Alexander Strakh
    Cc: Glenn Sommer
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/bluetooth/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Marcel Holtmann
    Cc: "Gustavo F. Padovan"
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/media/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Mauro Carvalho Chehab
    Cc: Luca Risolia
    Cc: Jean-Francois Moine
    Cc: Frank Zago
    Cc: Olivier Lorin
    Cc: Erik Andren
    Cc: Hans de Goede
    Cc: Brian Johnson
    Cc: Leandro Costantino
    Cc: Antoine Jacquet
    Cc: Jarod Wilson
    Cc: Florian Mickler
    Cc: Antti Palosaari
    Cc: Michael Krufky
    Cc: "David Härdeman"
    Cc: Florent Audebert
    Cc: Sam Doshi
    Cc: Manu Abraham
    Cc: Olivier Grenie
    Cc: Patrick Boettcher
    Cc: "Igor M. Liplianin"
    Cc: Derek Kelly
    Cc: Malcolm Priestley
    Cc: Steven Toth
    Cc: "André Weidemann"
    Cc: Martin Wilks
    Cc: Tejun Heo
    Cc: Jose Alberto Reguero
    Cc: David Henningsson
    Cc: Paul Gortmaker
    Cc: Joe Perches
    Cc: Jesper Juhl
    Cc: Lucas De Marchi
    Cc: Hans Verkuil
    Cc: Alexey Khoroshilov
    Cc: Anssi Hannula
    Cc: Rafi Rubin
    Cc: Dan Carpenter
    Cc: Paul Bender
    Cc: Devin Heitmueller
    Cc: "Márcio A Alves"
    Cc: Julia Lawall
    Cc: Laurent Pinchart
    Cc: Chris Rankin
    Cc: Lee Jones
    Cc: Andy Walls
    Cc: Andrew Morton
    Cc: Mike Frysinger
    Cc: Dean Anderson
    Cc: Pete Eberlein
    Cc: Arvydas Sidorenko
    Cc: Andrea Anacleto
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/net/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Wolfgang Grandegger
    Cc: Samuel Ortiz
    Cc: Oliver Neukum
    Cc: Peter Korsgaard
    Cc: Petko Manolov
    Cc: Steve Glendinning
    Cc: Christian Lamparter
    Cc: "John W. Linville"
    Cc: Dan Williams
    Cc: Jussi Kivilinna
    Cc: Ivo van Doorn
    Cc: Gertjan van Wingerde
    Cc: Helmut Schaa
    Cc: Herton Ronaldo Krzesinski
    Cc: Hin-Tak Leung
    Cc: Larry Finger
    Cc: Chaoming Li
    Cc: Lucas De Marchi
    Cc: "David S. Miller"
    Cc: Roel Kluin
    Cc: Paul Gortmaker
    Cc: Jiri Pirko
    Cc: Pavel Roskin
    Cc: Yoann DI-RUZZA
    Cc: George
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman