Module Name: src
Committed By: skrll
Date: Fri Mar 20 06:33:00 UTC 2020
Modified Files:
src/sys/arch/arm/samsung: exynos_gpio.c
Log Message:
Use __BIT/__SHIFTOUT some more. NFCI.
To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/arm/samsung/exynos_gpio.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/samsung/exynos_gpio.c
diff -u src/sys/arch/arm/samsung/exynos_gpio.c:1.26 src/sys/arch/arm/samsung/exynos_gpio.c:1.27
--- src/sys/arch/arm/samsung/exynos_gpio.c:1.26 Tue Mar 17 21:24:30 2020
+++ src/sys/arch/arm/samsung/exynos_gpio.c Fri Mar 20 06:33:00 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: exynos_gpio.c,v 1.26 2020/03/17 21:24:30 skrll Exp $ */
+/* $NetBSD: exynos_gpio.c,v 1.27 2020/03/20 06:33:00 skrll Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#include "gpio.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: exynos_gpio.c,v 1.26 2020/03/17 21:24:30 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: exynos_gpio.c,v 1.27 2020/03/20 06:33:00 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -179,11 +179,13 @@ static int
exynos_gpio_pin_read(void *cookie, int pin)
{
struct exynos_gpio_bank * const bank = cookie;
+ uint8_t val;
KASSERT(pin < bank->bank_bits);
- return (bus_space_read_1(bank->bank_sc->sc_bst,
- bank->bank_sc->sc_bsh,
- EXYNOS_GPIO_DAT) >> pin) & 1;
+ val = bus_space_read_1(bank->bank_sc->sc_bst, bank->bank_sc->sc_bsh,
+ EXYNOS_GPIO_DAT);
+
+ return __SHIFTOUT(val, __BIT(pin));
}
static void
@@ -193,15 +195,13 @@ exynos_gpio_pin_write(void *cookie, int
int val;
KASSERT(pin < bank->bank_bits);
- val = bus_space_read_1(bank->bank_sc->sc_bst,
- bank->bank_sc->sc_bsh,
- EXYNOS_GPIO_DAT);
+ val = bus_space_read_1(bank->bank_sc->sc_bst, bank->bank_sc->sc_bsh,
+ EXYNOS_GPIO_DAT);
val &= ~__BIT(pin);
if (value)
val |= __BIT(pin);
- bus_space_write_1(bank->bank_sc->sc_bst,
- bank->bank_sc->sc_bsh,
- EXYNOS_GPIO_DAT, val);
+ bus_space_write_1(bank->bank_sc->sc_bst, bank->bank_sc->sc_bsh,
+ EXYNOS_GPIO_DAT, val);
}
static void