mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-04 20:26:13 +02:00
misc: vexpress_config: Use member .priv_auto to set the private data
In current vexpress_config_probe code, it sets the uclass private data
directly. This will cause one compilation error:
drivers/misc/vexpress_config.c:114:27: error: lvalue required as left operand of assignment
114 | dev_get_uclass_priv(dev) = priv;
| ^
In this patch we set the uclass private data through struct member
.priv_auto, and this compilation error disappears.
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Qi Feng <qi.feng@arm.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
7093b89ab1
commit
ffdb85bfcf
@ -92,7 +92,7 @@ static struct misc_ops vexpress_config_ops = {
|
||||
static int vexpress_config_probe(struct udevice *dev)
|
||||
{
|
||||
struct ofnode_phandle_args args;
|
||||
struct vexpress_config_sysreg *priv;
|
||||
struct vexpress_config_sysreg *priv = dev_get_priv(dev);
|
||||
const char *prop;
|
||||
int err, prop_size;
|
||||
|
||||
@ -105,11 +105,9 @@ static int vexpress_config_probe(struct udevice *dev)
|
||||
if (!prop || (strncmp(prop, "arm,vexpress-sysreg", 19) != 0))
|
||||
return -ENOENT;
|
||||
|
||||
priv = calloc(1, sizeof(*priv));
|
||||
if (!priv)
|
||||
return -ENOMEM;
|
||||
|
||||
dev_get_uclass_priv(dev) = priv;
|
||||
priv->addr = ofnode_get_addr(args.node);
|
||||
|
||||
return dev_read_u32(dev, "arm,vexpress,site", &priv->site);
|
||||
@ -127,4 +125,5 @@ U_BOOT_DRIVER(vexpress_config_drv) = {
|
||||
.bind = dm_scan_fdt_dev,
|
||||
.probe = vexpress_config_probe,
|
||||
.ops = &vexpress_config_ops,
|
||||
.priv_auto = sizeof(struct vexpress_config_sysreg),
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user