Commit df900536 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski
Browse files

gpio: rename gpio_chip_hwgpio() to gpiod_hwgpio()



This function takes a GPIO descriptor as first argument. Make its naming
consistent with the rest of the GPIO codebase and use the gpiod_ prefix.

Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarAndrew Jeffery <andrew@codeconstruct.com.au>
Link: https://lore.kernel.org/r/20251016-aspeed-gpiolib-include-v1-1-31201c06d124@linaro.org


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent d09ec3dc
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@

/*
 * These two headers aren't meant to be used by GPIO drivers. We need
 * them in order to access gpio_chip_hwgpio() which we need to implement
 * them in order to access gpiod_hwgpio() which we need to implement
 * the aspeed specific API which allows the coprocessor to request
 * access to some GPIOs and to arbitrate between coprocessor and ARM.
 */
@@ -942,7 +942,7 @@ int aspeed_gpio_copro_grab_gpio(struct gpio_desc *desc,
{
	struct gpio_chip *chip = gpiod_to_chip(desc);
	struct aspeed_gpio *gpio = gpiochip_get_data(chip);
	int rc = 0, bindex, offset = gpio_chip_hwgpio(desc);
	int rc = 0, bindex, offset = gpiod_hwgpio(desc);
	const struct aspeed_gpio_bank *bank = to_bank(offset);

	if (!aspeed_gpio_support_copro(gpio))
@@ -987,7 +987,7 @@ int aspeed_gpio_copro_release_gpio(struct gpio_desc *desc)
{
	struct gpio_chip *chip = gpiod_to_chip(desc);
	struct aspeed_gpio *gpio = gpiochip_get_data(chip);
	int rc = 0, bindex, offset = gpio_chip_hwgpio(desc);
	int rc = 0, bindex, offset = gpiod_hwgpio(desc);

	if (!aspeed_gpio_support_copro(gpio))
		return -EOPNOTSUPP;
+6 −6
Original line number Diff line number Diff line
@@ -676,7 +676,7 @@ static enum hte_return process_hw_ts_thread(void *p)
	}
	le.line_seqno = line->line_seqno;
	le.seqno = (lr->num_lines == 1) ? le.line_seqno : line->req_seqno;
	le.offset = gpio_chip_hwgpio(line->desc);
	le.offset = gpiod_hwgpio(line->desc);

	linereq_put_event(lr, &le);

@@ -793,7 +793,7 @@ static irqreturn_t edge_irq_thread(int irq, void *p)
	line->line_seqno++;
	le.line_seqno = line->line_seqno;
	le.seqno = (lr->num_lines == 1) ? le.line_seqno : line->req_seqno;
	le.offset = gpio_chip_hwgpio(line->desc);
	le.offset = gpiod_hwgpio(line->desc);

	linereq_put_event(lr, &le);

@@ -891,7 +891,7 @@ static void debounce_work_func(struct work_struct *work)

	lr = line->req;
	le.timestamp_ns = line_event_timestamp(line);
	le.offset = gpio_chip_hwgpio(line->desc);
	le.offset = gpiod_hwgpio(line->desc);
#ifdef CONFIG_HTE
	if (edflags & GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE) {
		/* discard events except the last one */
@@ -1591,7 +1591,7 @@ static void linereq_show_fdinfo(struct seq_file *out, struct file *file)

	for (i = 0; i < lr->num_lines; i++)
		seq_printf(out, "gpio-line:\t%d\n",
			   gpio_chip_hwgpio(lr->lines[i].desc));
			   gpiod_hwgpio(lr->lines[i].desc));
}
#endif

@@ -2244,7 +2244,7 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc,
		return;

	memset(info, 0, sizeof(*info));
	info->offset = gpio_chip_hwgpio(desc);
	info->offset = gpiod_hwgpio(desc);

	if (desc->name)
		strscpy(info->name, desc->name, sizeof(info->name));
@@ -2549,7 +2549,7 @@ static int lineinfo_changed_notify(struct notifier_block *nb,
	struct lineinfo_changed_ctx *ctx;
	struct gpio_desc *desc = data;

	if (!test_bit(gpio_chip_hwgpio(desc), cdev->watched_lines))
	if (!test_bit(gpiod_hwgpio(desc), cdev->watched_lines))
		return NOTIFY_DONE;

	/*
+7 −7
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ static int gpio_sysfs_request_irq(struct gpiod_data *data, unsigned char flags)
	 * Remove this redundant call (along with the corresponding unlock)
	 * when those drivers have been fixed.
	 */
	ret = gpiochip_lock_as_irq(guard.gc, gpio_chip_hwgpio(desc));
	ret = gpiochip_lock_as_irq(guard.gc, gpiod_hwgpio(desc));
	if (ret < 0)
		goto err_clr_bits;

@@ -258,7 +258,7 @@ static int gpio_sysfs_request_irq(struct gpiod_data *data, unsigned char flags)
	return 0;

err_unlock:
	gpiochip_unlock_as_irq(guard.gc, gpio_chip_hwgpio(desc));
	gpiochip_unlock_as_irq(guard.gc, gpiod_hwgpio(desc));
err_clr_bits:
	clear_bit(GPIOD_FLAG_EDGE_RISING, &desc->flags);
	clear_bit(GPIOD_FLAG_EDGE_FALLING, &desc->flags);
@@ -280,7 +280,7 @@ static void gpio_sysfs_free_irq(struct gpiod_data *data)

	data->irq_flags = 0;
	free_irq(data->irq, data);
	gpiochip_unlock_as_irq(guard.gc, gpio_chip_hwgpio(desc));
	gpiochip_unlock_as_irq(guard.gc, gpiod_hwgpio(desc));
	clear_bit(GPIOD_FLAG_EDGE_RISING, &desc->flags);
	clear_bit(GPIOD_FLAG_EDGE_FALLING, &desc->flags);
}
@@ -478,10 +478,10 @@ static int export_gpio_desc(struct gpio_desc *desc)
	if (!guard.gc)
		return -ENODEV;

	offset = gpio_chip_hwgpio(desc);
	offset = gpiod_hwgpio(desc);
	if (!gpiochip_line_is_valid(guard.gc, offset)) {
		pr_debug_ratelimited("%s: GPIO %d masked\n", __func__,
				     gpio_chip_hwgpio(desc));
				     gpiod_hwgpio(desc));
		return -EINVAL;
	}

@@ -823,7 +823,7 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
	}

	desc_data->chip_attr_group.name = kasprintf(GFP_KERNEL, "gpio%u",
						    gpio_chip_hwgpio(desc));
						    gpiod_hwgpio(desc));
	if (!desc_data->chip_attr_group.name) {
		status = -ENOMEM;
		goto err_put_dirent;
@@ -843,7 +843,7 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
	if (status)
		goto err_free_name;

	path = kasprintf(GFP_KERNEL, "gpio%u/value", gpio_chip_hwgpio(desc));
	path = kasprintf(GFP_KERNEL, "gpio%u/value", gpiod_hwgpio(desc));
	if (!path) {
		status = -ENOMEM;
		goto err_remove_groups;
+23 −23
Original line number Diff line number Diff line
@@ -443,7 +443,7 @@ int gpiod_get_direction(struct gpio_desc *desc)
	if (!guard.gc)
		return -ENODEV;

	offset = gpio_chip_hwgpio(desc);
	offset = gpiod_hwgpio(desc);
	flags = READ_ONCE(desc->flags);

	/*
@@ -2446,7 +2446,7 @@ static int gpiod_request_commit(struct gpio_desc *desc, const char *label)
	if (test_and_set_bit(GPIOD_FLAG_REQUESTED, &desc->flags))
		return -EBUSY;

	offset = gpio_chip_hwgpio(desc);
	offset = gpiod_hwgpio(desc);
	if (!gpiochip_line_is_valid(guard.gc, offset))
		return -EINVAL;

@@ -2508,7 +2508,7 @@ static void gpiod_free_commit(struct gpio_desc *desc)

	if (guard.gc && test_bit(GPIOD_FLAG_REQUESTED, &flags)) {
		if (guard.gc->free)
			guard.gc->free(guard.gc, gpio_chip_hwgpio(desc));
			guard.gc->free(guard.gc, gpiod_hwgpio(desc));

		clear_bit(GPIOD_FLAG_ACTIVE_LOW, &flags);
		clear_bit(GPIOD_FLAG_REQUESTED, &flags);
@@ -2668,7 +2668,7 @@ int gpio_do_set_config(struct gpio_desc *desc, unsigned long config)
	if (!guard.gc->set_config)
		return -ENOTSUPP;

	ret = guard.gc->set_config(guard.gc, gpio_chip_hwgpio(desc), config);
	ret = guard.gc->set_config(guard.gc, gpiod_hwgpio(desc), config);
	if (ret > 0)
		ret = -EBADE;

@@ -2699,7 +2699,7 @@ static int gpio_set_config_with_argument_optional(struct gpio_desc *desc,
						  u32 argument)
{
	struct device *dev = &desc->gdev->dev;
	int gpio = gpio_chip_hwgpio(desc);
	int gpio = gpiod_hwgpio(desc);
	int ret;

	ret = gpio_set_config_with_argument(desc, mode, argument);
@@ -2862,9 +2862,9 @@ int gpiod_direction_input_nonotify(struct gpio_desc *desc)
	 */
	if (guard.gc->direction_input) {
		ret = gpiochip_direction_input(guard.gc,
					       gpio_chip_hwgpio(desc));
					       gpiod_hwgpio(desc));
	} else if (guard.gc->get_direction) {
		dir = gpiochip_get_direction(guard.gc, gpio_chip_hwgpio(desc));
		dir = gpiochip_get_direction(guard.gc, gpiod_hwgpio(desc));
		if (dir < 0)
			return dir;

@@ -2923,12 +2923,12 @@ static int gpiod_direction_output_raw_commit(struct gpio_desc *desc, int value)

	if (guard.gc->direction_output) {
		ret = gpiochip_direction_output(guard.gc,
						gpio_chip_hwgpio(desc), val);
						gpiod_hwgpio(desc), val);
	} else {
		/* Check that we are in output mode if we can */
		if (guard.gc->get_direction) {
			dir = gpiochip_get_direction(guard.gc,
						     gpio_chip_hwgpio(desc));
						     gpiod_hwgpio(desc));
			if (dir < 0)
				return dir;

@@ -2943,7 +2943,7 @@ static int gpiod_direction_output_raw_commit(struct gpio_desc *desc, int value)
		 * If we can't actively set the direction, we are some
		 * output-only chip, so just drive the output as desired.
		 */
		ret = gpiochip_set(guard.gc, gpio_chip_hwgpio(desc), val);
		ret = gpiochip_set(guard.gc, gpiod_hwgpio(desc), val);
		if (ret)
			return ret;
	}
@@ -3094,7 +3094,7 @@ int gpiod_enable_hw_timestamp_ns(struct gpio_desc *desc, unsigned long flags)
	}

	ret = guard.gc->en_hw_timestamp(guard.gc,
					gpio_chip_hwgpio(desc), flags);
					gpiod_hwgpio(desc), flags);
	if (ret)
		gpiod_warn(desc, "%s: hw ts request failed\n", __func__);

@@ -3126,7 +3126,7 @@ int gpiod_disable_hw_timestamp_ns(struct gpio_desc *desc, unsigned long flags)
		return -ENOTSUPP;
	}

	ret = guard.gc->dis_hw_timestamp(guard.gc, gpio_chip_hwgpio(desc),
	ret = guard.gc->dis_hw_timestamp(guard.gc, gpiod_hwgpio(desc),
					 flags);
	if (ret)
		gpiod_warn(desc, "%s: hw ts release failed\n", __func__);
@@ -3257,7 +3257,7 @@ static int gpiochip_get(struct gpio_chip *gc, unsigned int offset)

static int gpio_chip_get_value(struct gpio_chip *gc, const struct gpio_desc *desc)
{
	return gc->get ? gpiochip_get(gc, gpio_chip_hwgpio(desc)) : -EIO;
	return gc->get ? gpiochip_get(gc, gpiod_hwgpio(desc)) : -EIO;
}

/* I/O calls are only valid after configuration completed; the relevant
@@ -3417,7 +3417,7 @@ int gpiod_get_array_value_complex(bool raw, bool can_sleep,
		first = i;
		do {
			const struct gpio_desc *desc = desc_array[i];
			int hwgpio = gpio_chip_hwgpio(desc);
			int hwgpio = gpiod_hwgpio(desc);

			__set_bit(hwgpio, mask);
			i++;
@@ -3439,7 +3439,7 @@ int gpiod_get_array_value_complex(bool raw, bool can_sleep,

		for (j = first; j < i; ) {
			const struct gpio_desc *desc = desc_array[j];
			int hwgpio = gpio_chip_hwgpio(desc);
			int hwgpio = gpiod_hwgpio(desc);
			int value = test_bit(hwgpio, bits);

			if (!raw && test_bit(GPIOD_FLAG_ACTIVE_LOW, &desc->flags))
@@ -3576,7 +3576,7 @@ EXPORT_SYMBOL_GPL(gpiod_get_array_value);
 */
static int gpio_set_open_drain_value_commit(struct gpio_desc *desc, bool value)
{
	int ret = 0, offset = gpio_chip_hwgpio(desc);
	int ret = 0, offset = gpiod_hwgpio(desc);

	CLASS(gpio_chip_guard, guard)(desc);
	if (!guard.gc)
@@ -3605,7 +3605,7 @@ static int gpio_set_open_drain_value_commit(struct gpio_desc *desc, bool value)
 */
static int gpio_set_open_source_value_commit(struct gpio_desc *desc, bool value)
{
	int ret = 0, offset = gpio_chip_hwgpio(desc);
	int ret = 0, offset = gpiod_hwgpio(desc);

	CLASS(gpio_chip_guard, guard)(desc);
	if (!guard.gc)
@@ -3637,7 +3637,7 @@ static int gpiod_set_raw_value_commit(struct gpio_desc *desc, bool value)
		return -ENODEV;

	trace_gpio_value(desc_to_gpio(desc), 0, value);
	return gpiochip_set(guard.gc, gpio_chip_hwgpio(desc), value);
	return gpiochip_set(guard.gc, gpiod_hwgpio(desc), value);
}

/*
@@ -3760,7 +3760,7 @@ int gpiod_set_array_value_complex(bool raw, bool can_sleep,

		do {
			struct gpio_desc *desc = desc_array[i];
			int hwgpio = gpio_chip_hwgpio(desc);
			int hwgpio = gpiod_hwgpio(desc);
			int value = test_bit(i, value_bitmap);

			if (unlikely(!test_bit(GPIOD_FLAG_IS_OUT, &desc->flags)))
@@ -4000,7 +4000,7 @@ int gpiod_to_irq(const struct gpio_desc *desc)
	if (!gc)
		return -ENODEV;

	offset = gpio_chip_hwgpio(desc);
	offset = gpiod_hwgpio(desc);
	if (gc->to_irq) {
		ret = gc->to_irq(gc, offset);
		if (ret)
@@ -4957,7 +4957,7 @@ int gpiod_hog(struct gpio_desc *desc, const char *name,
	if (test_and_set_bit(GPIOD_FLAG_IS_HOGGED, &desc->flags))
		return 0;

	hwnum = gpio_chip_hwgpio(desc);
	hwnum = gpiod_hwgpio(desc);

	local_desc = gpiochip_request_own_desc(guard.gc, hwnum, name,
					       lflags, dflags);
@@ -5038,7 +5038,7 @@ struct gpio_descs *__must_check gpiod_get_array(struct device *dev,
		 * If pin hardware number of array member 0 is also 0, select
		 * its chip as a candidate for fast bitmap processing path.
		 */
		if (descs->ndescs == 0 && gpio_chip_hwgpio(desc) == 0) {
		if (descs->ndescs == 0 && gpiod_hwgpio(desc) == 0) {
			struct gpio_descs *array;

			bitmap_size = BITS_TO_LONGS(gdev->ngpio > count ?
@@ -5083,7 +5083,7 @@ struct gpio_descs *__must_check gpiod_get_array(struct device *dev,
		 * Detect array members which belong to the 'fast' chip
		 * but their pins are not in hardware order.
		 */
		else if (gpio_chip_hwgpio(desc) != descs->ndescs) {
		else if (gpiod_hwgpio(desc) != descs->ndescs) {
			/*
			 * Don't use fast path if all array members processed so
			 * far belong to the same chip as this one but its pin
+1 −1
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ const char *gpiod_get_label(struct gpio_desc *desc);
/*
 * Return the GPIO number of the passed descriptor relative to its chip
 */
static inline int gpio_chip_hwgpio(const struct gpio_desc *desc)
static inline int gpiod_hwgpio(const struct gpio_desc *desc)
{
	return desc - &desc->gdev->descs[0];
}