linux/drivers/gpio
Linus Walleij b3222f7147 gpio: mpc8xxx: Do not reverse bits using bgpio
The MPC8xxx driver is always instantiating its generic GPIO functions
with the flag BGPIOF_BIG_ENDIAN. This means "big-endian bit order"
and means the bits representing the GPIO lines in the registers are
reversed around 31 bits so line 0 is at bit 31 and so forth down to
line 31 in bit 0.

Instead of looping into the generic MMIO gpio to do the simple
calculation of a bitmask, through a vtable call with two parameters
likely using stack frames etc (unless the compiler optimize it)
and obscuring the view for the programmer, let's just open-code
what the call does. This likely executes faster, saves space and
makes the code easier to read.

Cc: Liu Gang <Gang.Liu@nxp.com>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-10-25 11:25:40 +02:00
..
devres.c
gpio-74x164.c gpio: 74x164: Introduce 'enable-gpios' property 2017-08-14 16:24:02 +02:00
gpio-74xx-mmio.c
gpio-104-dio-48e.c
gpio-104-idi-48.c
gpio-104-idio-16.c
gpio-adnp.c
gpio-adp5520.c
gpio-adp5588.c
gpio-altera-a10sr.c
gpio-altera.c
gpio-amd8111.c
gpio-amdpt.c
gpio-arizona.c
gpio-aspeed.c gpio: mark expected switch fall-throughs 2017-10-19 22:32:40 +02:00
gpio-ath79.c gpio: mark expected switch fall-throughs 2017-10-19 22:32:40 +02:00
gpio-axp209.c
gpio-bcm-kona.c
gpio-bd9571mwv.c
gpio-brcmstb.c gpio: brcmstb: Do not use gc->pin2mask() 2017-10-25 11:25:39 +02:00
gpio-bt8xx.c
gpio-clps711x.c
gpio-crystalcove.c
gpio-cs5535.c
gpio-da9052.c
gpio-da9055.c
gpio-davinci.c gpio: davinci: Handle the return value of davinci_gpio_irq_setup function 2017-08-14 15:03:39 +02:00
gpio-dln2.c
gpio-dwapb.c gpio: dwapb: fix bgpio usage 2017-10-25 11:25:10 +02:00
gpio-em.c
gpio-ep93xx.c
gpio-etraxfs.c
gpio-exar.c
gpio-f7188x.c
gpio-ftgpio010.c
gpio-ge.c
gpio-gpio-mm.c
gpio-grgpio.c gpio: grgpio: Do not use gc->pin2mask() 2017-10-25 11:25:38 +02:00
gpio-htc-egpio.c
gpio-ich.c
gpio-ingenic.c
gpio-intel-mid.c
gpio-iop.c
gpio-it87.c
gpio-janz-ttl.c
gpio-kempld.c
gpio-ks8695.c
gpio-loongson1.c gpio: loongson1: fix bgpio usage 2017-10-25 11:25:38 +02:00
gpio-loongson.c
gpio-lp873x.c
gpio-lp3943.c
gpio-lp87565.c
gpio-lpc18xx.c
gpio-lpc32xx.c
gpio-lynxpoint.c
gpio-max730x.c
gpio-max732x.c
gpio-max3191x.c gpio: Add driver for Maxim MAX3191x industrial serializer 2017-10-19 22:40:07 +02:00
gpio-max7300.c
gpio-max7301.c
gpio-max77620.c gpio: max77620: Make regmap_irq_chip const 2017-08-14 16:06:24 +02:00
gpio-mb86s7x.c
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-menz127.c
gpio-merrifield.c
gpio-ml-ioh.c gpio: ml-ioh: use devres for irq generic chip 2017-08-21 00:06:35 +02:00
gpio-mm-lantiq.c
gpio-mmio.c
gpio-mockup.c gpio: mockup: remove unused variable gc 2017-08-31 15:21:07 +02:00
gpio-mpc8xxx.c gpio: mpc8xxx: Do not reverse bits using bgpio 2017-10-25 11:25:40 +02:00
gpio-mpc5200.c
gpio-msic.c
gpio-mvebu.c
gpio-mxc.c gpio: mxc: use devres for irq generic chip 2017-08-21 00:09:33 +02:00
gpio-mxs.c gpio: mxs: use devres for irq generic chip 2017-08-21 00:10:00 +02:00
gpio-octeon.c
gpio-omap.c
gpio-palmas.c
gpio-pca953x.c
gpio-pcf857x.c
gpio-pch.c gpio: pch: use devres for irq generic chip 2017-08-21 00:08:52 +02:00
gpio-pci-idio-16.c
gpio-pisosr.c
gpio-pl061.c gpio: pl061: constify amba_id 2017-08-31 13:57:57 +02:00
gpio-pxa.c
gpio-rc5t583.c
gpio-rcar.c gpio: rcar: Use of_device_get_match_data() helper 2017-10-08 02:16:42 +02:00
gpio-rdc321x.c
gpio-reg.c
gpio-sa1100.c
gpio-sch311x.c
gpio-sch.c
gpio-sodaville.c
gpio-spear-spics.c
gpio-sta2x11.c gpio: sta2x11: use devres for irq generic chip 2017-08-21 00:06:04 +02:00
gpio-stmpe.c gpio: mark expected switch fall-throughs 2017-10-19 22:32:40 +02:00
gpio-stp-xway.c
gpio-syscon.c
gpio-tb10x.c gpio: tb10x: Handle return value of devm_kasprintf 2017-09-21 14:14:17 +02:00
gpio-tc3589x.c
gpio-tegra.c
gpio-thunderx.c gpio: thunderx: remove unused .map() hook from irq_domain_ops 2017-09-22 15:31:55 +02:00
gpio-timberdale.c
gpio-tpic2810.c
gpio-tps6586x.c
gpio-tps65086.c
gpio-tps65218.c
gpio-tps65910.c
gpio-tps65912.c
gpio-tps68470.c gpio: Add support for TPS68470 GPIOs 2017-08-14 15:37:38 +02:00
gpio-ts4800.c
gpio-ts4900.c
gpio-ts5500.c
gpio-twl4030.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
gpio-twl6040.c gpio: twl6040: remove unneeded forward declaration 2017-08-23 10:20:16 +02:00
gpio-tz1090-pdc.c
gpio-tz1090.c
gpio-ucb1400.c
gpio-uniphier.c gpio: uniphier: add UniPhier GPIO controller driver 2017-10-23 10:37:31 +02:00
gpio-vf610.c
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c
gpio-wcove.c
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
gpio-ws16c48.c
gpio-xgene-sb.c gpio: xgene-sb: Tidy up fwnode usage 2017-09-19 09:39:24 +02:00
gpio-xgene.c
gpio-xilinx.c
gpio-xlp.c
gpio-xra1403.c
gpio-xtensa.c
gpio-zevio.c gpio: zevio: make gpio_chip const 2017-08-23 09:21:54 +02:00
gpio-zx.c
gpio-zynq.c gpio: zynq: Fix driver function parameters alignment 2017-08-14 16:01:06 +02:00
gpiolib-acpi.c
gpiolib-devprop.c
gpiolib-legacy.c
gpiolib-of.c gpio: Fix loose spelling 2017-10-20 09:37:32 +02:00
gpiolib-sysfs.c This is the bulk of the GPIO changes for the v4.14 cycle: 2017-09-05 11:49:48 -07:00
gpiolib.c gpio: Fix loose spelling 2017-10-20 09:37:32 +02:00
gpiolib.h gpio: Fix loose spelling 2017-10-20 09:37:32 +02:00
Kconfig gpio: uniphier: add UniPhier GPIO controller driver 2017-10-23 10:37:31 +02:00
Makefile gpio: uniphier: add UniPhier GPIO controller driver 2017-10-23 10:37:31 +02:00