Thread (12 messages) 12 messages, 4 authors, 2010-01-27

[PATCH v3] input: MXC: add mxc-keypad driver to support the Keypad Port present in the mxc application processors family.

From: Lothar Waßmann <hidden>
Date: 2010-01-27 17:03:56
Also in: linux-input

Hi,

Alberto Panizzo writes:
On mer, 2010-01-27 at 15:52 +0100, Lothar Wa?mann wrote:
quoted
Hi,

Alberto Panizzo writes:
quoted
On mer, 2010-01-27 at 13:18 +0100, Lothar Wa?mann wrote:
quoted
Hi,

Alberto Panizzo writes:
quoted
quoted
quoted
+	irq = platform_get_irq(pdev, 0);
+	if (irq < 0) {
+		dev_err(&pdev->dev, "failed to get keypad irq\n");
+		return -ENXIO;
+	}
This should be -ENODEV.
Lot of reference keyboard driver use -ENXIO..
May should be better: return irq ?
Yes, of course. If a function returns an error code that should be
promoted to the caller instead of inventing a new error code.


Lothar Wa?mann
But, errno.h say:
#define ENXIO           6                // Device not configured
#define ENODEV          19               // Operation not supported by device
What errno.h file is that?
I have:
./include/asm-generic/errno-base.h:#define      ENXIO            6      /* No such device or address */
./include/asm-generic/errno-base.h:#define      ENODEV          19      /* No such device */

AFAIK ENXIO is used when actual I/O has been attempted. But in this
case the driver is still being configured and did not do any I/O yet.


Lothar Wa?mann
The errno.h that I propose is a googled one and the kernel-one do not explain well..
Not for fighting, I wont understand.

In drivers/base/platform.c:

/**
 * platform_get_irq - get an IRQ for a device
 * @dev: platform device
 * @num: IRQ number index
 */
int platform_get_irq(struct platform_device *dev, unsigned int num)
{
	struct resource *r = platform_get_resource(dev, IORESOURCE_IRQ, num);

	return r ? r->start : -ENXIO;
}

If there isn't the irq resource asked platform_get_irq return ENXIO.
The POSIX spec says:
|[ENXIO]
|    No such device or address. Input or output on a special file
|refers to a device that does not exist, or makes a request beyond the
|capabilities of the device. It may also occur when, for example, a
|tape drive is not on-line. 

http://www.opengroup.org/onlinepubs/000095399/functions/xsh_chap02_03.html


Lothar Wa?mann
-- 
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help