[PATCH v2 1/3] common: oftree: Add fuction to register set status fixup

Trent Piepho tpiepho at kymetacorp.com
Thu Feb 25 10:18:27 PST 2016


On Thu, 2016-02-25 at 08:36 +0100, Teresa Remmet wrote:

>  
> +struct of_fixup_status_data {
> +	char *node;

const char *node.

I think path would be a better name, as node usually is a device_node
pointer, not a path.

> +	bool status;
> +};
> +
> +static int of_fixup_status(struct device_node *root, void *context)
> +{
> +	struct of_fixup_status_data *data = context;

const struct of_fixup_status_data *data

> +	struct device_node *node;
> +
> +	node = of_find_node_by_path_or_alias(root, data->node);
> +	if (!node)
> +		return -ENODEV;
> +
> +	if (data->status)
> +		return of_device_enable(node);
> +	else
> +		return of_device_disable(node);
> +}
> +
> +/**
> + * of_register_set_status_fixup - register fix up to set status of nodes
> + * Register a fixup to enable or disable a node in the devicet tree by
> + * passing the path or alias.
> + */
> +int of_register_set_status_fixup(char *node, bool status)

(const char *path, bool status)

> +{
> +	struct of_fixup_status_data *data;
> +
> +	data = xzalloc(sizeof(*data));
> +	data->node = node;
> +	data->status = status;
> +
> +	return of_register_fixup(of_fixup_status, (void *)data);
> +}


More information about the barebox mailing list