Exemple #1
0
static irqreturn_t hss_dcd_irq(int irq, void *pdev)
{
	int i, port = (irq == gpio_irq(GPIO_HSS1_DCD_N));
	gpio_line_get(port ? GPIO_HSS1_DCD_N : GPIO_HSS0_DCD_N, &i);
	set_carrier_cb_tab[port](pdev, !i);
	return IRQ_HANDLED;
}
Exemple #2
0
static int hss_open(int port, void *pdev,
		    void (*set_carrier_cb)(void *pdev, int carrier))
{
	int i, irq;

	if (!port)
		irq = gpio_irq(GPIO_HSS0_DCD_N);
	else
		irq = gpio_irq(GPIO_HSS1_DCD_N);

	gpio_line_get(port ? GPIO_HSS1_DCD_N : GPIO_HSS0_DCD_N, &i);
	set_carrier_cb(pdev, !i);

	set_carrier_cb_tab[!!port] = set_carrier_cb;

	if ((i = request_irq(irq, hss_dcd_irq, 0, "IXP4xx HSS", pdev)) != 0) {
		printk(KERN_ERR "ixp4xx_hss: failed to request IRQ%i (%i)\n",
		       irq, i);
		return i;
	}

	set_control(port ? CONTROL_HSS1_DTR_N : CONTROL_HSS0_DTR_N, 0);
	output_control();
	gpio_line_set(port ? GPIO_HSS1_RTS_N : GPIO_HSS0_RTS_N, 0);
	return 0;
}
Exemple #3
0
static inline u32 getmiso(struct spi_device *dev)
{
	struct spi_gpio *sp = spidev_to_sg(dev);
	int val;
	gpio_line_get(sp->info->pin_miso,&val);
	return val ? 1 : 0;
}
Exemple #4
0
static int ixp4xx_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
{
	int value;

	gpio_line_get(gpio, &value);

	return value;
}
static int ixdp2400_bit_getsda(void *data)
{
	struct ixdp2400_data *gpio = (struct ixdp2400_data*)data;
	int ret;

	ret = gpio_line_get(gpio->sda_gpio);

	return ret;
}
static int ixp4xx_bit_getsda(void *data)
{
	int sda;

	gpio_line_config(ixp4xx_sda_pin(data), IXP4XX_GPIO_IN );
	gpio_line_get(ixp4xx_sda_pin(data), &sda);

	return sda;
}	
static int ixp4xx_bit_getscl(void *data)
{
	int scl;

	gpio_line_config(ixp4xx_scl_pin(data), IXP4XX_GPIO_IN );
	gpio_line_get(ixp4xx_scl_pin(data), &scl);

	return scl;
}	
Exemple #8
0
static void power_button_poll(unsigned long dummy)
{
	if (gpio_line_get(N2100_POWER_BUTTON) == 0) {
		ctrl_alt_del();
		return;
	}

	power_button_poll_timer.expires = jiffies + (HZ / 10);
	add_timer(&power_button_poll_timer);
}
static void ixp2000_bit_setscl(void *data, int val)
{
	int i = 5000;

	if (val) {
		gpio_line_config(ixp2000_scl_pin(data), GPIO_IN);
		while(!gpio_line_get(ixp2000_scl_pin(data)) && i--);
	} else {
		gpio_line_config(ixp2000_scl_pin(data), GPIO_OUT);
	}
}
static void ixdp2400_bit_setscl(void *data, int val)
{
	struct ixdp2400_data *gpio = (struct ixdp2400_data*)data; 
	int i = 5000;

	if(val) {
		gpio_line_config(gpio->scl_gpio, GPIO_IN);
		while(!gpio_line_get(gpio->scl_gpio) && i--);
	} else {
		gpio_line_config(gpio->scl_gpio, GPIO_OUT);
	}
}
static int ixp2000_bit_getsda(void *data)
{
	return gpio_line_get(ixp2000_sda_pin(data));
}
Exemple #12
0
static void gpio_line_get_slow(u8 line, int *value)
{
	gpio_line_get(line, value);
	udelay(10);
}
Exemple #13
0
static int iop3xx_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
{
	return gpio_line_get(gpio);
}