Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c196f0f authored by Russell King's avatar Russell King
Browse files

ARM: iPAQ: convert H3100 IrDA to use generic gpio support

parent 0831e3e4
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -347,14 +347,13 @@ static void __init h3100_map_io(void)
 */
 */
static int h3100_irda_set_power(struct device *dev, unsigned int state)
static int h3100_irda_set_power(struct device *dev, unsigned int state)
{
{
	assign_h3100_egpio(IPAQ_EGPIO_IR_ON, state);
	gpio_set_value(H3100_GPIO_IR_ON, state);

	return 0;
	return 0;
}
}


static void h3100_irda_set_speed(struct device *dev, unsigned int speed)
static void h3100_irda_set_speed(struct device *dev, unsigned int speed)
{
{
	assign_h3100_egpio(IPAQ_EGPIO_IR_FSEL, !(speed < 4000000));
	gpio_set_value(H3100_GPIO_IR_FSEL, !(speed < 4000000));
}
}


static struct irda_platform_data h3100_irda_data = {
static struct irda_platform_data h3100_irda_data = {
@@ -362,8 +361,14 @@ static struct irda_platform_data h3100_irda_data = {
	.set_speed	= h3100_irda_set_speed,
	.set_speed	= h3100_irda_set_speed,
};
};


static struct gpio_default_state h3100_default_gpio[] = {
	{ H3100_GPIO_IR_ON,	GPIO_MODE_OUT0, "IrDA power" },
	{ H3100_GPIO_IR_FSEL,	GPIO_MODE_OUT0, "IrDA fsel" },
};

static void h3100_mach_init(void)
static void h3100_mach_init(void)
{
{
	h3xxx_init_gpio(h3100_default_gpio, ARRAY_SIZE(h3100_default_gpio));
	h3xxx_mach_init();
	h3xxx_mach_init();
	sa11x0_register_irda(&h3100_irda_data);
	sa11x0_register_irda(&h3100_irda_data);
}
}
+9 −0
Original line number Original line Diff line number Diff line
@@ -39,6 +39,15 @@
#define GPIO_H3100_IR_ON		GPIO_GPIO (8)
#define GPIO_H3100_IR_ON		GPIO_GPIO (8)
#define GPIO_H3100_IR_FSEL		GPIO_GPIO (9)
#define GPIO_H3100_IR_FSEL		GPIO_GPIO (9)


/* gpiolib versions of the above */
#define H3100_GPIO_BT_ON		2
#define H3100_GPIO_QMUTE		4
#define H3100_GPIO_LCD_3V_ON		5
#define H3100_GPIO_AUD_ON		6
#define H3100_GPIO_AUD_PWR_ON		7
#define H3100_GPIO_IR_ON		8
#define H3100_GPIO_IR_FSEL		9

/* for H3600, audio sample rate clock generator */
/* for H3600, audio sample rate clock generator */
#define GPIO_H3600_CLK_SET0		GPIO_GPIO (12)
#define GPIO_H3600_CLK_SET0		GPIO_GPIO (12)
#define GPIO_H3600_CLK_SET1		GPIO_GPIO (13)
#define GPIO_H3600_CLK_SET1		GPIO_GPIO (13)