Linux 3.9-rc3
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQEcBAABAgAGBQJRRkrbAAoJEHm+PkMAQRiGy3oH/jrbHinYs0auurANgx4TdtWT /WNajstKBqLOJJ6cnTR7sOqwOVlptt65EbbTs+qGyZ2Z2W/Lg0BMenHvNHo4ER8C e7UbMdBCSLKBjAMKh1XCoZscGv4Exm8WRH3Vc5yP0Hafj3EzSAVLY1dta9WKKoQi bh7D1ErUlbU1zczA1w5YbPF0LqFKRvyZOwebMCCAKAxv5wWAxmbcPNxVR4sufkjg k6TkQ2ysgWivZAfy3tJYOcxiEu7ahpZVEuYdlZEJQXHRQUfoNljQlOp4BqKsYUai 5A0kaf2VpKay/7pkhvTfBBcF/jFJ68pYP6gQ2ThNdr0b5kOiAfMWj030Xyngnhg= =iO9t -----END PGP SIGNATURE----- Merge tag 'v3.9-rc3' into next Merge with mainline to bring in module_platform_driver_probe() and devm_ioremap_resource().
This commit is contained in:
commit
688d794c4c
17348 changed files with 1083156 additions and 593704 deletions
|
@ -21,6 +21,7 @@
|
|||
#include <linux/compiler.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/pinctrl/devinfo.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/ratelimit.h>
|
||||
|
@ -190,6 +191,7 @@ extern struct klist *bus_get_device_klist(struct bus_type *bus);
|
|||
* @mod_name: Used for built-in modules.
|
||||
* @suppress_bind_attrs: Disables bind/unbind via sysfs.
|
||||
* @of_match_table: The open firmware table.
|
||||
* @acpi_match_table: The ACPI match table.
|
||||
* @probe: Called to query the existence of a specific device,
|
||||
* whether this driver can work with it, and bind the driver
|
||||
* to a specific device.
|
||||
|
@ -223,6 +225,7 @@ struct device_driver {
|
|||
bool suppress_bind_attrs; /* disables bind/unbind via sysfs */
|
||||
|
||||
const struct of_device_id *of_match_table;
|
||||
const struct acpi_device_id *acpi_match_table;
|
||||
|
||||
int (*probe) (struct device *dev);
|
||||
int (*remove) (struct device *dev);
|
||||
|
@ -393,8 +396,8 @@ extern int class_for_each_device(struct class *class, struct device *start,
|
|||
void *data,
|
||||
int (*fn)(struct device *dev, void *data));
|
||||
extern struct device *class_find_device(struct class *class,
|
||||
struct device *start, void *data,
|
||||
int (*match)(struct device *, void *));
|
||||
struct device *start, const void *data,
|
||||
int (*match)(struct device *, const void *));
|
||||
|
||||
struct class_attribute {
|
||||
struct attribute attr;
|
||||
|
@ -496,6 +499,10 @@ ssize_t device_show_int(struct device *dev, struct device_attribute *attr,
|
|||
char *buf);
|
||||
ssize_t device_store_int(struct device *dev, struct device_attribute *attr,
|
||||
const char *buf, size_t count);
|
||||
ssize_t device_show_bool(struct device *dev, struct device_attribute *attr,
|
||||
char *buf);
|
||||
ssize_t device_store_bool(struct device *dev, struct device_attribute *attr,
|
||||
const char *buf, size_t count);
|
||||
|
||||
#define DEVICE_ATTR(_name, _mode, _show, _store) \
|
||||
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
|
||||
|
@ -505,6 +512,9 @@ ssize_t device_store_int(struct device *dev, struct device_attribute *attr,
|
|||
#define DEVICE_INT_ATTR(_name, _mode, _var) \
|
||||
struct dev_ext_attribute dev_attr_##_name = \
|
||||
{ __ATTR(_name, _mode, device_show_int, device_store_int), &(_var) }
|
||||
#define DEVICE_BOOL_ATTR(_name, _mode, _var) \
|
||||
struct dev_ext_attribute dev_attr_##_name = \
|
||||
{ __ATTR(_name, _mode, device_show_bool, device_store_bool), &(_var) }
|
||||
#define DEVICE_ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store) \
|
||||
struct device_attribute dev_attr_##_name = \
|
||||
__ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store)
|
||||
|
@ -564,6 +574,7 @@ extern int devres_release_group(struct device *dev, void *id);
|
|||
extern void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp);
|
||||
extern void devm_kfree(struct device *dev, void *p);
|
||||
|
||||
void __iomem *devm_ioremap_resource(struct device *dev, struct resource *res);
|
||||
void __iomem *devm_request_and_ioremap(struct device *dev,
|
||||
struct resource *res);
|
||||
|
||||
|
@ -580,6 +591,12 @@ struct device_dma_parameters {
|
|||
unsigned long segment_boundary_mask;
|
||||
};
|
||||
|
||||
struct acpi_dev_node {
|
||||
#ifdef CONFIG_ACPI
|
||||
void *handle;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
* struct device - The basic device structure
|
||||
* @parent: The device's "parent" device, the device to which it is attached.
|
||||
|
@ -609,6 +626,8 @@ struct device_dma_parameters {
|
|||
* @pm_domain: Provide callbacks that are executed during system suspend,
|
||||
* hibernation, system resume and during runtime PM transitions
|
||||
* along with subsystem-level and driver-level callbacks.
|
||||
* @pins: For device pin management.
|
||||
* See Documentation/pinctrl.txt for details.
|
||||
* @numa_node: NUMA node this device is close to.
|
||||
* @dma_mask: Dma mask (if dma'ble device).
|
||||
* @coherent_dma_mask: Like dma_mask, but for alloc_coherent mapping as not all
|
||||
|
@ -620,6 +639,7 @@ struct device_dma_parameters {
|
|||
* @dma_mem: Internal for coherent mem override.
|
||||
* @archdata: For arch-specific additions.
|
||||
* @of_node: Associated device tree node.
|
||||
* @acpi_node: Associated ACPI device node.
|
||||
* @devt: For creating the sysfs "dev".
|
||||
* @id: device instance
|
||||
* @devres_lock: Spinlock to protect the resource of the device.
|
||||
|
@ -660,6 +680,10 @@ struct device {
|
|||
struct dev_pm_info power;
|
||||
struct dev_pm_domain *pm_domain;
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
struct dev_pin_info *pins;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
int numa_node; /* NUMA node this device is close to */
|
||||
#endif
|
||||
|
@ -684,6 +708,7 @@ struct device {
|
|||
struct dev_archdata archdata;
|
||||
|
||||
struct device_node *of_node; /* associated device tree node */
|
||||
struct acpi_dev_node acpi_node; /* associated ACPI device node */
|
||||
|
||||
dev_t devt; /* dev_t, creates the sysfs "dev" */
|
||||
u32 id; /* device instance */
|
||||
|
@ -704,6 +729,14 @@ static inline struct device *kobj_to_dev(struct kobject *kobj)
|
|||
return container_of(kobj, struct device, kobj);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ACPI
|
||||
#define ACPI_HANDLE(dev) ((dev)->acpi_node.handle)
|
||||
#define ACPI_HANDLE_SET(dev, _handle_) (dev)->acpi_node.handle = (_handle_)
|
||||
#else
|
||||
#define ACPI_HANDLE(dev) (NULL)
|
||||
#define ACPI_HANDLE_SET(dev, _handle_) do { } while (0)
|
||||
#endif
|
||||
|
||||
/* Get the wakeup routines, which depend on struct device */
|
||||
#include <linux/pm_wakeup.h>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue