Device tree updates for v3.11
This branch contains the following changes:
- Removal of CONFIG_OF_DEVICE, it is always enabled by CONFIG_OF
- Remove #ifdef from linux/of_platform.h to increase compiler syntax
coverage
- Bug fix for address decoding on Bimini and js2x powerpc platforms.
- miscellaneous binding changes
One note on the above. The binding changes going in from all kinds of
different trees has gotten rather out of hand. I picked up some during
this cycle, but even going though my tree isn't a great fit. Ian
Campbell has prototyped splitting the bindings and .dtb files into a
separate repository. The plan is to migrate to using that sometime in
the next few kernel releases which should get rid of a lot of the churn
on binding docs and .dts files.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJR1fP3AAoJEEFnBt12D9kB3IIP/0Q5ctMespiJ50+ThjGsaR3m
sUbQkMK46uL/oupXaJT2ybX2PxLN5LpgvO9rPt77hblOoL0+wZt+j9G0pLy1qZQZ
aHprH9SrpGJv6F0SFbHp/+D/m9vESPv+zwYzL9TvrOALvCD7OSZ7tHLaoF7Y1ADM
QnZa7pta3Owpu5NsGXaTXLpaZzfXzfWzf4PDzv2FsAIDbtuVJZGJZ7sJVO7Z0r+K
KCY85uKJ4VOHY0onBVlM6uoCnopOi2XMMkyxYvR28lL2Kiv2b3np46jG3zX1EZH5
Qxdu85QZn2oio9iaTeYKK8bG9aRIRsXnzCnF2s68n2rQlEtPpWKN9Lj2AS/KJ+Ig
obFTOFDHmxt1F4GIA0/HIPkDvRd7GTIwgwYYubEMi44E3Mae0N+xzkIRE41vYP7s
8zaNHbjAjsYjplsvN5gTPxxiU/ta24a5bl7Ont2zmOjAbXCsDajm4NCKZRJ3lb2f
FHNsS1zHGmqgJ9zt13GQabo/Tp4t3KwTzBirPQsDokRO4eoL6klcS3GCRv82VWC0
dLnzu92hXcyXgh7mX2sj6sRBSwNygxMn4ZsZJklle38/LynvtrzT72BOZjghS+Vh
l553uDInjSJ3IBrXnClPoyObcu50cmsBBgsK39FzU+MF9mcCHmkHQiT52zM6ZW3M
wwY1OfcZk3XaT7akcVu6
=CndB
-----END PGP SIGNATURE-----
Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux
Pull device tree updates from Grant Likely:
"This branch contains the following changes:
- Removal of CONFIG_OF_DEVICE, it is always enabled by CONFIG_OF
- Remove #ifdef from linux/of_platform.h to increase compiler syntax
coverage
- Bug fix for address decoding on Bimini and js2x powerpc platforms.
- miscellaneous binding changes
One note on the above. The binding changes going in from all kinds of
different trees has gotten rather out of hand. I picked up some
during this cycle, but even going though my tree isn't a great fit.
Ian Campbell has prototyped splitting the bindings and .dtb files into
a separate repository. The plan is to migrate to using that sometime
in the next few kernel releases which should get rid of a lot of the
churn on binding docs and .dts files"
* tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
of: Fix address decoding on Bimini and js2x machines
of: remove CONFIG_OF_DEVICE
usb: chipidea: depend on CONFIG_OF instead of CONFIG_OF_DEVICE
of: remove of_platform_driver
ibmebus: convert of_platform_driver to platform_driver
driver core: move to_platform_driver to platform_device.h
mfd: DT bindings for the palmas family MFD
ARM: dts: omap3-devkit8000: fix NAND memory binding
of/base: fix typos
of: remove #ifdef from linux/of_platform.h
This commit is contained in:
commit
74b9272bbe
16 changed files with 176 additions and 88 deletions
|
|
@ -4,12 +4,12 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/of_platform.h> /* temporary until merge */
|
||||
|
||||
#ifdef CONFIG_OF_DEVICE
|
||||
#include <linux/of.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
|
||||
struct device;
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
extern const struct of_device_id *of_match_device(
|
||||
const struct of_device_id *matches, const struct device *dev);
|
||||
extern void of_device_make_bus_id(struct device *dev);
|
||||
|
|
@ -43,7 +43,7 @@ static inline void of_device_node_put(struct device *dev)
|
|||
of_node_put(dev->of_node);
|
||||
}
|
||||
|
||||
#else /* CONFIG_OF_DEVICE */
|
||||
#else /* CONFIG_OF */
|
||||
|
||||
static inline int of_driver_match_device(struct device *dev,
|
||||
struct device_driver *drv)
|
||||
|
|
@ -67,6 +67,6 @@ static inline const struct of_device_id *of_match_device(
|
|||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif /* CONFIG_OF_DEVICE */
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
#endif /* _LINUX_OF_DEVICE_H */
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@
|
|||
|
||||
#include <linux/device.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
|
||||
#ifdef CONFIG_OF_DEVICE
|
||||
#include <linux/pm.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
|
@ -53,27 +51,6 @@ struct of_dev_auxdata {
|
|||
{ .compatible = _compat, .phys_addr = _phys, .name = _name, \
|
||||
.platform_data = _pdata }
|
||||
|
||||
/**
|
||||
* of_platform_driver - Legacy of-aware driver for platform devices.
|
||||
*
|
||||
* An of_platform_driver driver is attached to a basic platform_device on
|
||||
* the ibm ebus (ibmebus_bus_type).
|
||||
*/
|
||||
struct of_platform_driver
|
||||
{
|
||||
int (*probe)(struct platform_device* dev,
|
||||
const struct of_device_id *match);
|
||||
int (*remove)(struct platform_device* dev);
|
||||
|
||||
int (*suspend)(struct platform_device* dev, pm_message_t state);
|
||||
int (*resume)(struct platform_device* dev);
|
||||
int (*shutdown)(struct platform_device* dev);
|
||||
|
||||
struct device_driver driver;
|
||||
};
|
||||
#define to_of_platform_driver(drv) \
|
||||
container_of(drv,struct of_platform_driver, driver)
|
||||
|
||||
extern const struct of_device_id of_default_bus_match_table[];
|
||||
|
||||
/* Platform drivers register/unregister */
|
||||
|
|
@ -82,7 +59,6 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
|
|||
struct device *parent);
|
||||
extern struct platform_device *of_find_device_by_node(struct device_node *np);
|
||||
|
||||
#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
|
||||
/* Platform devices and busses creation */
|
||||
extern struct platform_device *of_platform_device_create(struct device_node *np,
|
||||
const char *bus_id,
|
||||
|
|
@ -91,17 +67,12 @@ extern struct platform_device *of_platform_device_create(struct device_node *np,
|
|||
extern int of_platform_bus_probe(struct device_node *root,
|
||||
const struct of_device_id *matches,
|
||||
struct device *parent);
|
||||
#ifdef CONFIG_OF_ADDRESS
|
||||
extern int of_platform_populate(struct device_node *root,
|
||||
const struct of_device_id *matches,
|
||||
const struct of_dev_auxdata *lookup,
|
||||
struct device *parent);
|
||||
#endif /* CONFIG_OF_ADDRESS */
|
||||
|
||||
#endif /* CONFIG_OF_DEVICE */
|
||||
|
||||
#if !defined(CONFIG_OF_ADDRESS)
|
||||
struct of_dev_auxdata;
|
||||
struct device_node;
|
||||
#else
|
||||
static inline int of_platform_populate(struct device_node *root,
|
||||
const struct of_device_id *matches,
|
||||
const struct of_dev_auxdata *lookup,
|
||||
|
|
@ -109,6 +80,6 @@ static inline int of_platform_populate(struct device_node *root,
|
|||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif /* !CONFIG_OF_ADDRESS */
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_OF_PLATFORM_H */
|
||||
|
|
|
|||
|
|
@ -180,6 +180,9 @@ struct platform_driver {
|
|||
const struct platform_device_id *id_table;
|
||||
};
|
||||
|
||||
#define to_platform_driver(drv) (container_of((drv), struct platform_driver, \
|
||||
driver))
|
||||
|
||||
/*
|
||||
* use a macro to avoid include chaining to get THIS_MODULE
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue