16 Nov, 2011

1 commit

  • Almost every platform_driver does the three steps get_resource,
    request_mem_region, ioremap. This does not only lead to a lot of code
    duplication, but also a huge number of similar error strings and
    inconsistent error codes on failure. So, introduce a helper function
    which simplifies remapping a resource and make it hard to do something
    wrong and add documentation for it.

    Signed-off-by: Wolfram Sang
    Acked-by: Grant Likely
    Acked-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Wolfram Sang
     

25 Aug, 2011

2 commits

  • The driver model documentation was added to the kernel tree before
    struct class was added to . Hence this patch that
    updates the paragraph about struct class in
    Documentation/driver-model/binding.txt.

    Signed-off-by: Bart Van Assche
    Cc: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Bart Van Assche
     
  • Several drivers use device_create_file() where device.groups should be
    used instead. This patch documents that and also removes the comments
    about device classes since these should not be used in new code in the
    way documented until now in Documentation/driver-model/device.txt.

    Signed-off-by: Bart Van Assche
    Cc: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Bart Van Assche
     

08 Jun, 2011

2 commits


07 May, 2011

1 commit


11 Nov, 2010

1 commit


05 Feb, 2010

1 commit


24 Dec, 2009

1 commit


13 Jul, 2009

1 commit


16 Jun, 2009

1 commit


13 Jun, 2009

1 commit


17 Apr, 2009

1 commit

  • V3 of the early platform driver implementation.

    Platform drivers are great for embedded platforms because we can separate
    driver configuration from the actual driver. So base addresses,
    interrupts and other configuration can be kept with the processor or board
    code, and the platform driver can be reused by many different platforms.

    For early devices we have nothing today. For instance, to configure early
    timers and early serial ports we cannot use platform devices. This
    because the setup order during boot. Timers are needed before the
    platform driver core code is available. The same goes for early printk
    support. Early in this case means before initcalls.

    These early drivers today have their configuration either hard coded or
    they receive it using some special configuration method. This is working
    quite well, but if we want to support both regular kernel modules and
    early devices then we need to have two ways of configuring the same
    driver. A single way would be better.

    The early platform driver patch is basically a set of functions that allow
    drivers to register themselves and architecture code to locate them and
    probe. Registration happens through early_param(). The time for the
    probe is decided by the architecture code.

    See Documentation/driver-model/platform.txt for more details.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Magnus Damm
    Cc: Paul Mundt
    Cc: Kay Sievers
    Cc: David Brownell
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Magnus Damm
     

23 Feb, 2009

1 commit


03 Feb, 2008

1 commit


20 Oct, 2007

1 commit

  • Most of these fixes were already submitted for old kernel versions, and were
    approved, but for some reason they never made it into the releases.

    Because this is a consolidation of a couple old missed patches, it touches both
    Kconfigs and documentation texts.

    Signed-off-by: Matt LaPlante
    Acked-by: Randy Dunlap
    Signed-off-by: Adrian Bunk

    Matt LaPlante
     

19 Jul, 2007

1 commit


09 Jun, 2007

1 commit

  • Make note of the legacy "probe-the-hardware" drivers, and some APIs that
    are mostly unused except by such drivers. We probably can't escape having
    legacy drivers for a while (e.g. old ISA drivers), but we can at least
    discourage this style code for new drivers, and unless it's unavoidable.

    Signed-off-by: David Brownell
    Cc: Andres Salomon
    Cc: Dmitry Torokhov
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     

09 May, 2007

2 commits


03 May, 2007

1 commit


18 Feb, 2007

1 commit


10 Feb, 2007

1 commit

  • Implement device resource management, in short, devres. A device
    driver can allocate arbirary size of devres data which is associated
    with a release function. On driver detach, release function is
    invoked on the devres data, then, devres data is freed.

    devreses are typed by associated release functions. Some devreses are
    better represented by single instance of the type while others need
    multiple instances sharing the same release function. Both usages are
    supported.

    devreses can be grouped using devres group such that a device driver
    can easily release acquired resources halfway through initialization
    or selectively release resources (e.g. resources for port 1 out of 4
    ports).

    This patch adds devres core including documentation and the following
    managed interfaces.

    * alloc/free : devm_kzalloc(), devm_kzfree()
    * IO region : devm_request_region(), devm_release_region()
    * IRQ : devm_request_irq(), devm_free_irq()
    * DMA : dmam_alloc_coherent(), dmam_free_coherent(),
    dmam_declare_coherent_memory(), dmam_pool_create(),
    dmam_pool_destroy()
    * PCI : pcim_enable_device(), pcim_pin_device(), pci_is_managed()
    * iomap : devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),
    devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),
    pcim_iomap(), pcim_iounmap()

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

02 Dec, 2006

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)
    Driver core: show drivers in /sys/module/
    Documentation/driver-model/platform.txt update/rewrite
    Driver core: platform_driver_probe(), can save codespace
    driver core: Use klist_remove() in device_move()
    driver core: Introduce device_move(): move a device to a new parent.
    Driver core: make drivers/base/core.c:setup_parent() static
    driver core: Introduce device_find_child().
    sysfs: sysfs_write_file() writes zero terminated data
    cpu topology: consider sysfs_create_group return value
    Driver core: Call platform_notify_remove later
    ACPI: Change ACPI to use dev_archdata instead of firmware_data
    Driver core: add dev_archdata to struct device
    Driver core: convert sound core to use struct device
    Driver core: change mem class_devices to be real devices
    Driver core: convert fb code to use struct device
    Driver core: convert firmware code to use struct device
    Driver core: convert mmc code to use struct device
    Driver core: convert ppdev code to use struct device
    Driver core: convert PPP code to use struct device
    Driver core: convert cpuid code to use struct device
    ...

    Linus Torvalds
     
  • This is almost a rewrite of the driver-model/platform.txt documentation;
    the previous text was obsolete (for several years), evidently it never
    got updated to match the change from being a PC "legacy_bus" to the more
    widely used core bus for most embedded systems.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     

30 Nov, 2006

1 commit


04 Oct, 2006

3 commits


27 Jun, 2006

1 commit


04 Feb, 2006

1 commit

  • Edits to the driver-model documentation for grammar, clarity and content.

    These docs haven't been updated in years, and some of the technical content
    and discussion has become stale; this patch updates these. In addition,
    some of the language is awkward. Fix this.

    (I'm trying to cleanup the other files in this directory also,
    patches for these will come a bit later).

    Signed-off-by: Linas Vepstas
    Acked-by: Patrick Mochel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linas Vepstas
     

29 Oct, 2005

3 commits


21 Jun, 2005

1 commit

  • This updates some driver data documentation:

    - removes references to some fields that haven't been there for a
    long time now, e.g. pre-kobject or even older;

    - giving more information about the probe() method;

    - adding an example of how platform_data is used

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     

17 Apr, 2005

2 commits

  • I thought I'm done with fixing u32 vs. pm_message_t ... unfortunately
    that turned out not to be the case as Russel King pointed out. Here are
    fixes for Documentation and common code (mainly system devices).

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

    Pavel Machek
     
  • 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