Commit 54c5d08a authored by Heiko Schocher's avatar Heiko Schocher Committed by Tom Rini
Browse files

dm: rename device struct to udevice



using UBI and DM together leads in compiler error, as
both define a "struct device", so rename "struct device"
in include/dm/device.h to "struct udevice", as we use
linux code (MTD/UBI/UBIFS some USB code,...) and cannot
change the linux "struct device"
Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Marek Vasut <marex@denx.de>
parent 9665fa8f
......@@ -29,7 +29,7 @@
* @param gp GPIO number
* @return -1 on error, 0 if GPIO is low, >0 if high
*/
int sandbox_gpio_get_value(struct device *dev, unsigned int offset);
int sandbox_gpio_get_value(struct udevice *dev, unsigned int offset);
/**
* Set the simulated value of a GPIO (used only in sandbox test code)
......@@ -38,7 +38,7 @@ int sandbox_gpio_get_value(struct device *dev, unsigned int offset);
* @param value value to set (0 for low, non-zero for high)
* @return -1 on error, 0 if ok
*/
int sandbox_gpio_set_value(struct device *dev, unsigned int offset, int value);
int sandbox_gpio_set_value(struct udevice *dev, unsigned int offset, int value);
/**
* Return the simulated direction of a GPIO (used only in sandbox test code)
......@@ -46,7 +46,7 @@ int sandbox_gpio_set_value(struct device *dev, unsigned int offset, int value);
* @param gp GPIO number
* @return -1 on error, 0 if GPIO is input, >0 if output
*/
int sandbox_gpio_get_direction(struct device *dev, unsigned int offset);
int sandbox_gpio_get_direction(struct udevice *dev, unsigned int offset);
/**
* Set the simulated direction of a GPIO (used only in sandbox test code)
......@@ -55,7 +55,7 @@ int sandbox_gpio_get_direction(struct device *dev, unsigned int offset);
* @param output 0 to set as input, 1 to set as output
* @return -1 on error, 0 if ok
*/
int sandbox_gpio_set_direction(struct device *dev, unsigned int offset,
int sandbox_gpio_set_direction(struct udevice *dev, unsigned int offset,
int output);
#endif
......@@ -11,7 +11,7 @@
#include <dm-demo.h>
#include <asm/io.h>
struct device *demo_dev;
struct udevice *demo_dev;
static int do_demo_hello(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
......@@ -41,7 +41,7 @@ static int do_demo_status(cmd_tbl_t *cmdtp, int flag, int argc,
int do_demo_list(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
struct device *dev;
struct udevice *dev;
int i, ret;
puts("Demo uclass entries:\n");
......
......@@ -30,7 +30,7 @@ static const char * const gpio_function[] = {
"unknown",
};
static void show_gpio(struct device *dev, const char *bank_name, int offset)
static void show_gpio(struct udevice *dev, const char *bank_name, int offset)
{
struct dm_gpio_ops *ops = gpio_get_ops(dev);
char buf[80];
......@@ -62,7 +62,7 @@ static void show_gpio(struct device *dev, const char *bank_name, int offset)
static int do_gpio_status(const char *gpio_name)
{
struct device *dev;
struct udevice *dev;
int newline = 0;
int ret;
......
......@@ -122,7 +122,7 @@ What is going on?
Let's start at the top. The demo command is in common/cmd_demo.c. It does
the usual command procesing and then:
struct device *demo_dev;
struct udevice *demo_dev;
ret = uclass_get_device(UCLASS_DEMO, devnum, &demo_dev);
......@@ -147,7 +147,7 @@ this particular device may use one or other of them.
The code for demo_hello() is in drivers/demo/demo-uclass.c:
int demo_hello(struct device *dev, int ch)
int demo_hello(struct udevice *dev, int ch)
{
const struct demo_ops *ops = device_get_ops(dev);
......@@ -160,7 +160,7 @@ int demo_hello(struct device *dev, int ch)
As you can see it just calls the relevant driver method. One of these is
in drivers/demo/demo-simple.c:
static int simple_hello(struct device *dev, int ch)
static int simple_hello(struct udevice *dev, int ch)
{
const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
......@@ -321,7 +321,7 @@ instead of struct instance, struct platdata, etc.)
this concept relates to a class of drivers (or a subsystem). We shouldn't
use 'class' since it is a C++ reserved word, so U-Boot class (uclass) seems
better than 'core'.
- Remove 'struct driver_instance' and just use a single 'struct device'.
- Remove 'struct driver_instance' and just use a single 'struct udevice'.
This removes a level of indirection that doesn't seem necessary.
- Built in device tree support, to avoid the need for platdata
- Removed the concept of driver relocation, and just make it possible for
......
......@@ -30,9 +30,9 @@
* @dev: The device that is to be stripped of its children
* @return 0 on success, -ve on error
*/
static int device_chld_unbind(struct device *dev)
static int device_chld_unbind(struct udevice *dev)
{
struct device *pos, *n;
struct udevice *pos, *n;
int ret, saved_ret = 0;
assert(dev);
......@@ -51,9 +51,9 @@ static int device_chld_unbind(struct device *dev)
* @dev: The device whose children are to be removed
* @return 0 on success, -ve on error
*/
static int device_chld_remove(struct device *dev)
static int device_chld_remove(struct udevice *dev)
{
struct device *pos, *n;
struct udevice *pos, *n;
int ret;
assert(dev);
......@@ -67,10 +67,10 @@ static int device_chld_remove(struct device *dev)
return 0;
}
int device_bind(struct device *parent, struct driver *drv, const char *name,
void *platdata, int of_offset, struct device **devp)
int device_bind(struct udevice *parent, struct driver *drv, const char *name,
void *platdata, int of_offset, struct udevice **devp)
{
struct device *dev;
struct udevice *dev;
struct uclass *uc;
int ret = 0;
......@@ -82,7 +82,7 @@ int device_bind(struct device *parent, struct driver *drv, const char *name,
if (ret)
return ret;
dev = calloc(1, sizeof(struct device));
dev = calloc(1, sizeof(struct udevice));
if (!dev)
return -ENOMEM;
......@@ -129,8 +129,8 @@ fail_bind:
return ret;
}
int device_bind_by_name(struct device *parent, const struct driver_info *info,
struct device **devp)
int device_bind_by_name(struct udevice *parent, const struct driver_info *info,
struct udevice **devp)
{
struct driver *drv;
......@@ -142,7 +142,7 @@ int device_bind_by_name(struct device *parent, const struct driver_info *info,
-1, devp);
}
int device_unbind(struct device *dev)
int device_unbind(struct udevice *dev)
{
struct driver *drv;
int ret;
......@@ -181,7 +181,7 @@ int device_unbind(struct device *dev)
* device_free() - Free memory buffers allocated by a device
* @dev: Device that is to be started
*/
static void device_free(struct device *dev)
static void device_free(struct udevice *dev)
{
int size;
......@@ -200,7 +200,7 @@ static void device_free(struct device *dev)
}
}
int device_probe(struct device *dev)
int device_probe(struct udevice *dev)
{
struct driver *drv;
int size = 0;
......@@ -279,7 +279,7 @@ fail:
return ret;
}
int device_remove(struct device *dev)
int device_remove(struct udevice *dev)
{
struct driver *drv;
int ret;
......@@ -327,7 +327,7 @@ err:
return ret;
}
void *dev_get_platdata(struct device *dev)
void *dev_get_platdata(struct udevice *dev)
{
if (!dev) {
dm_warn("%s: null device", __func__);
......@@ -337,7 +337,7 @@ void *dev_get_platdata(struct device *dev)
return dev->platdata;
}
void *dev_get_priv(struct device *dev)
void *dev_get_priv(struct udevice *dev)
{
if (!dev) {
dm_warn("%s: null device", __func__);
......
......@@ -60,13 +60,13 @@ struct uclass_driver *lists_uclass_lookup(enum uclass_id id)
return NULL;
}
int lists_bind_drivers(struct device *parent)
int lists_bind_drivers(struct udevice *parent)
{
struct driver_info *info =
ll_entry_start(struct driver_info, driver_info);
const int n_ents = ll_entry_count(struct driver_info, driver_info);
struct driver_info *entry;
struct device *dev;
struct udevice *dev;
int result = 0;
int ret;
......@@ -116,12 +116,12 @@ static int driver_check_compatible(const void *blob, int offset,
return -ENOENT;
}
int lists_bind_fdt(struct device *parent, const void *blob, int offset)
int lists_bind_fdt(struct udevice *parent, const void *blob, int offset)
{
struct driver *driver = ll_entry_start(struct driver, driver);
const int n_ents = ll_entry_count(struct driver, driver);
struct driver *entry;
struct device *dev;
struct udevice *dev;
const char *name;
int result = 0;
int ret;
......
......@@ -24,7 +24,7 @@ static const struct driver_info root_info = {
.name = "root_driver",
};
struct device *dm_root(void)
struct udevice *dm_root(void)
{
if (!gd->dm_root) {
dm_warn("Virtual root driver does not exist!\n");
......
......@@ -101,7 +101,7 @@ fail_mem:
int uclass_destroy(struct uclass *uc)
{
struct uclass_driver *uc_drv;
struct device *dev, *tmp;
struct udevice *dev, *tmp;
int ret;
list_for_each_entry_safe(dev, tmp, &uc->dev_head, uclass_node) {
......@@ -137,10 +137,10 @@ int uclass_get(enum uclass_id id, struct uclass **ucp)
return 0;
}
int uclass_find_device(enum uclass_id id, int index, struct device **devp)
int uclass_find_device(enum uclass_id id, int index, struct udevice **devp)
{
struct uclass *uc;
struct device *dev;
struct udevice *dev;
int ret;
*devp = NULL;
......@@ -158,9 +158,9 @@ int uclass_find_device(enum uclass_id id, int index, struct device **devp)
return -ENODEV;
}
int uclass_get_device(enum uclass_id id, int index, struct device **devp)
int uclass_get_device(enum uclass_id id, int index, struct udevice **devp)
{
struct device *dev;
struct udevice *dev;
int ret;
*devp = NULL;
......@@ -177,10 +177,10 @@ int uclass_get_device(enum uclass_id id, int index, struct device **devp)
return 0;
}
int uclass_first_device(enum uclass_id id, struct device **devp)
int uclass_first_device(enum uclass_id id, struct udevice **devp)
{
struct uclass *uc;
struct device *dev;
struct udevice *dev;
int ret;
*devp = NULL;
......@@ -190,7 +190,7 @@ int uclass_first_device(enum uclass_id id, struct device **devp)
if (list_empty(&uc->dev_head))
return 0;
dev = list_first_entry(&uc->dev_head, struct device, uclass_node);
dev = list_first_entry(&uc->dev_head, struct udevice, uclass_node);
ret = device_probe(dev);
if (ret)
return ret;
......@@ -199,16 +199,17 @@ int uclass_first_device(enum uclass_id id, struct device **devp)
return 0;
}
int uclass_next_device(struct device **devp)
int uclass_next_device(struct udevice **devp)
{
struct device *dev = *devp;
struct udevice *dev = *devp;
int ret;
*devp = NULL;
if (list_is_last(&dev->uclass_node, &dev->uclass->dev_head))
return 0;
dev = list_entry(dev->uclass_node.next, struct device, uclass_node);
dev = list_entry(dev->uclass_node.next, struct udevice,
uclass_node);
ret = device_probe(dev);
if (ret)
return ret;
......@@ -217,7 +218,7 @@ int uclass_next_device(struct device **devp)
return 0;
}
int uclass_bind_device(struct device *dev)
int uclass_bind_device(struct udevice *dev)
{
struct uclass *uc;
int ret;
......@@ -237,7 +238,7 @@ int uclass_bind_device(struct device *dev)
return 0;
}
int uclass_unbind_device(struct device *dev)
int uclass_unbind_device(struct udevice *dev)
{
struct uclass *uc;
int ret;
......@@ -253,7 +254,7 @@ int uclass_unbind_device(struct device *dev)
return 0;
}
int uclass_post_probe_device(struct device *dev)
int uclass_post_probe_device(struct udevice *dev)
{
struct uclass_driver *uc_drv = dev->uclass->uc_drv;
......@@ -263,7 +264,7 @@ int uclass_post_probe_device(struct device *dev)
return 0;
}
int uclass_pre_remove_device(struct device *dev)
int uclass_pre_remove_device(struct udevice *dev)
{
struct uclass_driver *uc_drv;
struct uclass *uc;
......
......@@ -23,7 +23,7 @@ struct shape_data {
};
/* Crazy little function to draw shapes on the console */
static int shape_hello(struct device *dev, int ch)
static int shape_hello(struct udevice *dev, int ch)
{
const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
struct shape_data *data = dev_get_priv(dev);
......@@ -81,7 +81,7 @@ static int shape_hello(struct device *dev, int ch)
return 0;
}
static int shape_status(struct device *dev, int *status)
static int shape_status(struct udevice *dev, int *status)
{
struct shape_data *data = dev_get_priv(dev);
......@@ -94,7 +94,7 @@ static const struct demo_ops shape_ops = {
.status = shape_status,
};
static int shape_ofdata_to_platdata(struct device *dev)
static int shape_ofdata_to_platdata(struct udevice *dev)
{
struct dm_demo_pdata *pdata = dev_get_platdata(dev);
int ret;
......
......@@ -12,7 +12,7 @@
#include <dm-demo.h>
#include <asm/io.h>
static int simple_hello(struct device *dev, int ch)
static int simple_hello(struct udevice *dev, int ch)
{
const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
......@@ -26,7 +26,7 @@ static const struct demo_ops simple_ops = {
.hello = simple_hello,
};
static int demo_shape_ofdata_to_platdata(struct device *dev)
static int demo_shape_ofdata_to_platdata(struct udevice *dev)
{
/* Parse the data that is common with all demo devices */
return demo_parse_dt(dev);
......
......@@ -22,7 +22,7 @@ UCLASS_DRIVER(demo) = {
.id = UCLASS_DEMO,
};
int demo_hello(struct device *dev, int ch)
int demo_hello(struct udevice *dev, int ch)
{
const struct demo_ops *ops = device_get_ops(dev);
......@@ -32,7 +32,7 @@ int demo_hello(struct device *dev, int ch)
return ops->hello(dev, ch);
}
int demo_status(struct device *dev, int *status)
int demo_status(struct udevice *dev, int *status)
{
const struct demo_ops *ops = device_get_ops(dev);
......@@ -42,7 +42,7 @@ int demo_status(struct device *dev, int *status)
return ops->status(dev, status);
}
int demo_parse_dt(struct device *dev)
int demo_parse_dt(struct udevice *dev)
{
struct dm_demo_pdata *pdata = dev_get_platdata(dev);
int dn = dev->of_offset;
......
......@@ -17,11 +17,11 @@
* or GPIO blocks registered with the GPIO controller. Returns
* entry on success, NULL on error.
*/
static int gpio_to_device(unsigned int gpio, struct device **devp,
static int gpio_to_device(unsigned int gpio, struct udevice **devp,
unsigned int *offset)
{
struct gpio_dev_priv *uc_priv;
struct device *dev;
struct udevice *dev;
int ret;
for (ret = uclass_first_device(UCLASS_GPIO, &dev);
......@@ -40,11 +40,11 @@ static int gpio_to_device(unsigned int gpio, struct device **devp,
return ret ? ret : -EINVAL;
}
int gpio_lookup_name(const char *name, struct device **devp,
int gpio_lookup_name(const char *name, struct udevice **devp,
unsigned int *offsetp, unsigned int *gpiop)
{
struct gpio_dev_priv *uc_priv;
struct device *dev;
struct udevice *dev;
int ret;
if (devp)
......@@ -86,7 +86,7 @@ int gpio_lookup_name(const char *name, struct device **devp,
int gpio_request(unsigned gpio, const char *label)
{
unsigned int offset;
struct device *dev;
struct udevice *dev;
int ret;
ret = gpio_to_device(gpio, &dev, &offset);
......@@ -110,7 +110,7 @@ int gpio_request(unsigned gpio, const char *label)
int gpio_free(unsigned gpio)
{
unsigned int offset;
struct device *dev;
struct udevice *dev;
int ret;
ret = gpio_to_device(gpio, &dev, &offset);
......@@ -133,7 +133,7 @@ int gpio_free(unsigned gpio)
int gpio_direction_input(unsigned gpio)
{
unsigned int offset;
struct device *dev;
struct udevice *dev;
int ret;
ret = gpio_to_device(gpio, &dev, &offset);
......@@ -155,7 +155,7 @@ int gpio_direction_input(unsigned gpio)
int gpio_direction_output(unsigned gpio, int value)
{
unsigned int offset;
struct device *dev;
struct udevice *dev;
int ret;
ret = gpio_to_device(gpio, &dev, &offset);
......@@ -177,7 +177,7 @@ int gpio_direction_output(unsigned gpio, int value)
int gpio_get_value(unsigned gpio)
{
unsigned int offset;
struct device *dev;
struct udevice *dev;
int ret;
ret = gpio_to_device(gpio, &dev, &offset);
......@@ -199,7 +199,7 @@ int gpio_get_value(unsigned gpio)
int gpio_set_value(unsigned gpio, int value)
{
unsigned int offset;
struct device *dev;
struct udevice *dev;
int ret;
ret = gpio_to_device(gpio, &dev, &offset);
......@@ -209,7 +209,7 @@ int gpio_set_value(unsigned gpio, int value)
return gpio_get_ops(dev)->set_value(dev, offset, value);
}
const char *gpio_get_bank_info(struct device *dev, int *bit_count)
const char *gpio_get_bank_info(struct udevice *dev, int *bit_count)
{
struct gpio_dev_priv *priv;
......@@ -225,7 +225,7 @@ const char *gpio_get_bank_info(struct device *dev, int *bit_count)
static int gpio_renumber(void)
{
struct gpio_dev_priv *uc_priv;
struct device *dev;
struct udevice *dev;
struct uclass *uc;
unsigned base;
int ret;
......@@ -247,12 +247,12 @@ static int gpio_renumber(void)
return 0;
}
static int gpio_post_probe(struct device *dev)
static int gpio_post_probe(struct udevice *dev)
{
return gpio_renumber();
}
static int gpio_pre_remove(struct device *dev)
static int gpio_pre_remove(struct udevice *dev)
{
return gpio_renumber();
}
......
......@@ -22,7 +22,7 @@ struct gpio_state {
};
/* Access routines for GPIO state */
static u8 *get_gpio_flags(struct device *dev, unsigned offset)
static u8 *get_gpio_flags(struct udevice *dev, unsigned offset)
{
struct gpio_dev_priv *uc_priv = dev->uclass_priv;
struct gpio_state *state = dev_get_priv(dev);
......@@ -36,12 +36,12 @@ static u8 *get_gpio_flags(struct device *dev, unsigned offset)
return &state[offset].flags;
}
static int get_gpio_flag(struct device *dev, unsigned offset, int flag)
static int get_gpio_flag(struct udevice *dev, unsigned offset, int flag)
{
return (*get_gpio_flags(dev, offset) & flag) != 0;
}
static int set_gpio_flag(struct device *dev, unsigned offset, int flag,
static int set_gpio_flag(struct udevice *dev, unsigned offset, int flag,
int value)
{
u8 *gpio = get_gpio_flags(dev, offset);
......@@ -54,7 +54,7 @@ static int set_gpio_flag(struct device *dev, unsigned offset, int flag,
return 0;
}
static int check_reserved(struct device *dev, unsigned offset,
static int check_reserved(struct udevice *dev, unsigned offset,
const char *func)
{
if (!get_gpio_flag(dev, offset, GPIOF_RESERVED)) {
......@@ -70,24 +70,24 @@ static int check_reserved(struct device *dev, unsigned offset,
* Back-channel sandbox-internal-only access to GPIO state
*/
int sandbox_gpio_get_value(struct device *dev, unsigned offset)
int sandbox_gpio_get_value(struct udevice *dev, unsigned offset)
{
if (get_gpio_flag(dev, offset, GPIOF_OUTPUT))
debug("sandbox_gpio: get_value on output gpio %u\n", offset);
return get_gpio_flag(dev, offset, GPIOF_HIGH);
}
int sandbox_gpio_set_value(struct device *dev, unsigned offset, int value)
int sandbox_gpio_set_value(struct udevice *dev, unsigned offset, int value)
{
return set_gpio_flag(dev, offset, GPIOF_HIGH, value);
}
int sandbox_gpio_get_direction(struct device *dev, unsigned offset)
int sandbox_gpio_get_direction(struct udevice *dev, unsigned offset)
{
return get_gpio_flag(dev, offset, GPIOF_OUTPUT);
}
int sandbox_gpio_set_direction(struct device *dev, unsigned offset, int output)
int sandbox_gpio_set_direction(struct udevice *dev, unsigned offset, int output)
{
return set_gpio_flag(dev, offset, GPIOF_OUTPUT, output);
}
......@@ -97,7 +97,7 @@ int sandbox_gpio_set_direction(struct device *dev, unsigned offset, int output)
*/
/* set GPIO port 'offset' as an input */
static int sb_gpio_direction_input(struct device *dev, unsigned offset)
static int sb_gpio_direction_input(struct udevice *dev, unsigned offset)
{
debug("%s: offset:%u\n", __func__, offset);
......@@ -108,7 +108,7 @@ static int sb_gpio_direction_input(struct device *dev, unsigned offset)
}
/* set GPIO port 'offset' as an output, with polarity 'value' */
static int sb_gpio_direction_output(struct device *dev, unsigned offset,
static int sb_gpio_direction_output(struct udevice *dev, unsigned offset,
int value)
{
debug("%s: offset:%u, value = %d\n", __func__, offset, value);
......@@ -121,7 +121,7 @@ static int sb_gpio_direction_output(struct device *dev, unsigned offset,
}
/* read GPIO IN value of port 'offset' */
static int sb_gpio_get_value(struct device *dev, unsigned offset)
static int sb_gpio_get_value(struct udevice *dev, unsigned offset)
{
debug("%s: offset:%u\n", __func__