• Home
  • Raw
  • Download

Lines Matching +full:gpio +full:- +full:beeper

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Generic IXP4xx beeper driver
7 * based on nslu2-io.c
11 * Maintainers: http://www.nslu2-linux.org/
19 #include <linux/gpio.h>
23 MODULE_DESCRIPTION("ixp4xx beeper driver");
25 MODULE_ALIAS("platform:ixp4xx-beeper");
55 return -1; in ixp4xx_spkr_event()
64 return -1; in ixp4xx_spkr_event()
68 count = (ixp4xx_timer_freq / (value * 4)) - 1; in ixp4xx_spkr_event()
82 /* flip the beeper output */ in ixp4xx_spkr_interrupt()
96 return -ENOMEM; in ixp4xx_spkr_probe()
98 input_set_drvdata(input_dev, (void *) dev->id); in ixp4xx_spkr_probe()
100 input_dev->name = "ixp4xx beeper", in ixp4xx_spkr_probe()
101 input_dev->phys = "ixp4xx/gpio"; in ixp4xx_spkr_probe()
102 input_dev->id.bustype = BUS_HOST; in ixp4xx_spkr_probe()
103 input_dev->id.vendor = 0x001f; in ixp4xx_spkr_probe()
104 input_dev->id.product = 0x0001; in ixp4xx_spkr_probe()
105 input_dev->id.version = 0x0100; in ixp4xx_spkr_probe()
106 input_dev->dev.parent = &dev->dev; in ixp4xx_spkr_probe()
108 input_dev->evbit[0] = BIT_MASK(EV_SND); in ixp4xx_spkr_probe()
109 input_dev->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE); in ixp4xx_spkr_probe()
110 input_dev->event = ixp4xx_spkr_event; in ixp4xx_spkr_probe()
118 err = gpio_request(dev->id, "ixp4-beeper"); in ixp4xx_spkr_probe()
123 IRQF_NO_SUSPEND, "ixp4xx-beeper", in ixp4xx_spkr_probe()
124 (void *) dev->id); in ixp4xx_spkr_probe()
138 free_irq(irq, (void *)dev->id); in ixp4xx_spkr_probe()
140 gpio_free(dev->id); in ixp4xx_spkr_probe()
158 free_irq(ixp4xx_timer2_irq, (void *)dev->id); in ixp4xx_spkr_remove()
159 gpio_free(dev->id); in ixp4xx_spkr_remove()
176 .name = "ixp4xx-beeper",