Thread (7 messages) flat view 7 messages, 3 authors, 2012-10-09
STALE5091d

[PATCH v3] GPIO: Add support for GPIO on CLPS711X-target platform

From: Alexander Shiyan <hidden>
Date: 2012-10-07 15:12:27

On Sun, 7 Oct 2012 11:28:03 +0100
Russell King - ARM Linux [off-list ref] wrote:
quoted
...
quoted
quoted
+++ b/arch/arm/mach-clps711x/include/mach/gpio.h
@@ -0,0 +1,27 @@
+/*
+ *  This file contains the CLPS711X GPIO definitions.
+ *
+ *  Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/* Simple helper for convert port & pin to GPIO number */
+#define CLPS711X_GPIO(port, bit)	((port) * 8 + (bit))
+
+/* Temporaty definitions for GPIO-ports */
+/* Will be removed after remove clps_read(write) macros */
+#include <mach/hardware.h>
+#define _PADR	(CLPS711X_VIRT_BASE + PADR)
+#define _PBDR	(CLPS711X_VIRT_BASE + PBDR)
+#define _PCDR	(CLPS711X_VIRT_BASE + PCDR)
+#define _PDDR	(CLPS711X_VIRT_BASE + PDDR)
+#define _PADDR	(CLPS711X_VIRT_BASE + PADDR)
+#define _PBDDR	(CLPS711X_VIRT_BASE + PBDDR)
+#define _PCDDR	(CLPS711X_VIRT_BASE + PCDDR)
+#define _PDDDR	(CLPS711X_VIRT_BASE + PDDDR)
+#define _PEDR	(CLPS711X_VIRT_BASE + PEDR)
+#define _PEDDR	(CLPS711X_VIRT_BASE + PEDDR)
Why can't this file (or the bulk of it) live in drivers/gpio ?
We should have access for macros in gpio.h from board support files
and other drivers. From drivers/gpio it not possible.
If you ask about port definitions, as I say before, it will be
removed later after rework on platform hardware definitions.
No other drivers should be directly accessing the GPIO registers -
doing so is likely a bug because of the inherent lack of locking,
which will cause race conditions.

All accesses to GPIOs should be done via gpiolib, even from board
support files.
Yes, and I am say only about macro that calculate GPIO-number from
port number and bit position. Access to this is a helpful for understand
source code.

-- 
Alexander Shiyan [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help