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