22 May, 2012

1 commit

  • Pull pin control subsystem changes from Linus Walleij:

    - Generic Device Tree bindings and hooks for drivers so we can move
    over modern drivers to using this.

    - Device Tree bindings for Tegra SoCs.

    - Funneling some devicetree helper code for the drivers/of subsystem.

    - New pin control drivers for:
    * Freescale MXS
    * Freescale i.MX51
    * Freescale i.MX53
    All of these use Device Tree bindings.

    - Dummy pinctrl handles for stepwise migration to pinctrl, akin to
    dummy regulators.
    - Minor non-urgent fixes and improvments.

    Fix up trivial conflicts in Documentation/driver-model/devres.txt and
    drivers/pinctrl/core.c,

    * tag 'pinctrl-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (46 commits)
    pinctrl: pinctrl-imx: add imx51 pinctrl driver
    pinctrl: pinctrl-imx: add imx53 pinctrl driver
    pinctrl: pinctrl-pxa3xx: remove empty pinmux disable function
    pinctrl: pinctrl-mxs: remove empty pinmux disable function
    pinctrl: pinctrl-imx: remove empty pinmux disable function
    pinctrl: make pinmux disable function optional
    pinctrl: a minor error checking improvement for pinconf
    pinctrl: mxs: skip gpio nodes for group creation
    pinctrl: mxs: create group for pin config node
    pinctrl: (cosmetic) fix two entries in DocBook comments
    pinctrl: add more info to error msgs in pin_request
    pinctrl: add pinctrl-mxs support
    pinctrl: pinctrl-imx: add imx6q pinctrl driver
    pinctrl: pinctrl-imx: add imx pinctrl core driver
    dt: add of_get_child_count helper function
    pinctrl: support gpio request deferred probing
    pinctrl: add pinctrl_provide_dummies interface for platforms to use
    pinctrl: enhance reporting of errors when loading from DT
    pinctrl: add kerneldoc for pinctrl_ops device tree functions
    pinctrl: propagate map validation errors
    ...

    Linus Torvalds
     

20 Apr, 2012

1 commit


18 Apr, 2012

1 commit


19 Mar, 2012

1 commit


31 Jan, 2012

1 commit


25 Jan, 2012

1 commit


20 Jan, 2012

1 commit

  • Add a resource managed regulator_get() to simplify regulator
    usage in drivers. This allows driver authors to "get and forget"
    about their regulators by automatically calling regulator_put()
    when the driver is detached.

    [Fixed up a couple of coding style issues -- broonie]

    Signed-off-by: Stephen Boyd
    Signed-off-by: Mark Brown

    Stephen Boyd
     

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

2 commits