提交 9f2b066c 编写于 作者: P Patrick Delaunay 提交者: Tom Rini

gpio: add gpio descriptor initialization helper

Add a helper function gpio_desc_init() to initialize the gpio descriptor;
with this function the flags will be always set to 0.

It wasn't the case before this patch in dm_gpio_lookup_name.
Reviewed-by: NSimon Glass <sjg@chromium.org>
Signed-off-by: NPatrick Delaunay <patrick.delaunay@st.com>
上级 e3f3a121
......@@ -18,6 +18,22 @@
DECLARE_GLOBAL_DATA_PTR;
/**
* gpio_desc_init() - Initialize the GPIO descriptor
*
* @desc: GPIO descriptor to initialize
* @dev: GPIO device
* @offset: Offset of device GPIO
*/
static void gpio_desc_init(struct gpio_desc *desc,
struct udevice *dev,
uint offset)
{
desc->dev = dev;
desc->offset = offset;
desc->flags = 0;
}
/**
* gpio_to_device() - Convert global GPIO number to device, number
*
......@@ -41,9 +57,7 @@ static int gpio_to_device(unsigned int gpio, struct gpio_desc *desc)
uc_priv = dev_get_uclass_priv(dev);
if (gpio >= uc_priv->gpio_base &&
gpio < uc_priv->gpio_base + uc_priv->gpio_count) {
desc->dev = dev;
desc->offset = gpio - uc_priv->gpio_base;
desc->flags = 0;
gpio_desc_init(desc, dev, gpio - uc_priv->gpio_base);
return 0;
}
}
......@@ -85,8 +99,7 @@ int dm_gpio_lookup_name(const char *name, struct gpio_desc *desc)
if (!dev)
return ret ? ret : -EINVAL;
desc->dev = dev;
desc->offset = offset;
gpio_desc_init(desc, dev, offset);
return 0;
}
......@@ -772,9 +785,7 @@ static int gpio_request_tail(int ret, const char *nodename,
struct gpio_desc *desc, int flags,
bool add_index, struct udevice *gpio_dev)
{
desc->dev = gpio_dev;
desc->offset = 0;
desc->flags = 0;
gpio_desc_init(desc, gpio_dev, 0);
if (ret)
goto err;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册