Merged in paulpatience/nuttx/gpio (pull request #85)
ioexpander/gpio: Add missing argument to gpin_read and gpout_read
This commit is contained in:
commit
2456014f34
@ -168,7 +168,7 @@ static int gpio_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
{
|
{
|
||||||
FAR struct inode *inode;
|
FAR struct inode *inode;
|
||||||
FAR struct gpio_common_dev_s *dev;
|
FAR struct gpio_common_dev_s *dev;
|
||||||
int ret = OK;
|
int ret;
|
||||||
|
|
||||||
DEBUGASSERT(filep != NULL && filep->f_inode != NULL);
|
DEBUGASSERT(filep != NULL && filep->f_inode != NULL);
|
||||||
inode = filep->f_inode;
|
inode = filep->f_inode;
|
||||||
@ -205,13 +205,17 @@ static int gpio_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
case GPIO_READ:
|
case GPIO_READ:
|
||||||
|
{
|
||||||
|
FAR int *ptr = (FAR int *)((uintptr_t)arg);
|
||||||
|
DEBUGASSERT(ptr != NULL);
|
||||||
|
|
||||||
if (dev->gp_output)
|
if (dev->gp_output)
|
||||||
{
|
{
|
||||||
FAR struct gpio_output_dev_s *outdev =
|
FAR struct gpio_output_dev_s *outdev =
|
||||||
(FAR struct gpio_output_dev_s *)dev;
|
(FAR struct gpio_output_dev_s *)dev;
|
||||||
|
|
||||||
DEBUGASSERT(outdev->gpout_read != NULL);
|
DEBUGASSERT(outdev->gpout_read != NULL);
|
||||||
ret = outdev->gpout_read(outdev);
|
ret = outdev->gpout_read(outdev, ptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -219,8 +223,17 @@ static int gpio_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
(FAR struct gpio_input_dev_s *)dev;
|
(FAR struct gpio_input_dev_s *)dev;
|
||||||
|
|
||||||
DEBUGASSERT(indev->gpin_read != NULL);
|
DEBUGASSERT(indev->gpin_read != NULL);
|
||||||
ret = indev->gpin_read(indev);
|
ret = indev->gpin_read(indev, ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEBUGASSERT(ret < 0 || *ptr == 0 || *ptr == 1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Unrecognized command */
|
||||||
|
|
||||||
|
default:
|
||||||
|
ret = -ENOTTY;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ struct gpio_input_dev_s
|
|||||||
|
|
||||||
/* Fields unique to input pins */
|
/* Fields unique to input pins */
|
||||||
|
|
||||||
CODE int (*gpin_read)(FAR struct gpio_input_dev_s *dev);
|
CODE int (*gpin_read)(FAR struct gpio_input_dev_s *dev, FAR int *value);
|
||||||
|
|
||||||
/* Lower-half private definitions may follow */
|
/* Lower-half private definitions may follow */
|
||||||
};
|
};
|
||||||
@ -101,7 +101,7 @@ struct gpio_output_dev_s
|
|||||||
|
|
||||||
/* Fields unique to output pins */
|
/* Fields unique to output pins */
|
||||||
|
|
||||||
CODE int (*gpout_read)(FAR struct gpio_output_dev_s *dev);
|
CODE int (*gpout_read)(FAR struct gpio_output_dev_s *dev, FAR int *value);
|
||||||
CODE int (*gpout_write)(FAR struct gpio_output_dev_s *dev, int value);
|
CODE int (*gpout_write)(FAR struct gpio_output_dev_s *dev, int value);
|
||||||
|
|
||||||
/* Lower-half private definitions may follow */
|
/* Lower-half private definitions may follow */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user