diff options
| author | Takashi Iwai <tiwai@suse.de> | 2013-04-15 13:45:16 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2013-04-15 13:45:16 -0400 |
| commit | ad2109d7d258a92fa016f1f36b423bfcc69f7efc (patch) | |
| tree | f1a98ab99b8e80c376b13ac3a82d750ab9b179cf /drivers/gpio/gpio-stmpe.c | |
| parent | cbc200bca4b51a8e2406d4b654d978f8503d430b (diff) | |
| parent | 5cbad7d39ad229c68a724e5e139fd845b93766b2 (diff) | |
Merge tag 'asoc-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v3.10
A bunch of changes here, the most interesting one subsystem wise being
Morimoto-san's work to create snd_soc_component which doesn't do much
for now but will be pretty important going forwards:
- Add a new component object type which will form the basis of moving
to a more generic handling of SoC and off-SoC components, contributed
by Kuninori Morimoto.
- A fairly large set of cleanups for the dmaengine integration from
Lars-Peter Clausen, starting to move towards being able to have a
generic driver based on the library.
- Performance optimisations to DAPM from Ryo Tsutsui.
- Support for mixer control sharing in DAPM from Stephen Warren.
- Multiplatform ARM cleanups from Arnd Bergmann.
- New CODEC drivers for AK5385 and TAS5086 from Daniel Mack.
Diffstat (limited to 'drivers/gpio/gpio-stmpe.c')
| -rw-r--r-- | drivers/gpio/gpio-stmpe.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-stmpe.c b/drivers/gpio/gpio-stmpe.c index 770476a9da87..3ce5bc38ac31 100644 --- a/drivers/gpio/gpio-stmpe.c +++ b/drivers/gpio/gpio-stmpe.c | |||
| @@ -307,11 +307,15 @@ static const struct irq_domain_ops stmpe_gpio_irq_simple_ops = { | |||
| 307 | .xlate = irq_domain_xlate_twocell, | 307 | .xlate = irq_domain_xlate_twocell, |
| 308 | }; | 308 | }; |
| 309 | 309 | ||
| 310 | static int stmpe_gpio_irq_init(struct stmpe_gpio *stmpe_gpio) | 310 | static int stmpe_gpio_irq_init(struct stmpe_gpio *stmpe_gpio, |
| 311 | struct device_node *np) | ||
| 311 | { | 312 | { |
| 312 | int base = stmpe_gpio->irq_base; | 313 | int base = 0; |
| 313 | 314 | ||
| 314 | stmpe_gpio->domain = irq_domain_add_simple(NULL, | 315 | if (!np) |
| 316 | base = stmpe_gpio->irq_base; | ||
| 317 | |||
| 318 | stmpe_gpio->domain = irq_domain_add_simple(np, | ||
| 315 | stmpe_gpio->chip.ngpio, base, | 319 | stmpe_gpio->chip.ngpio, base, |
| 316 | &stmpe_gpio_irq_simple_ops, stmpe_gpio); | 320 | &stmpe_gpio_irq_simple_ops, stmpe_gpio); |
| 317 | if (!stmpe_gpio->domain) { | 321 | if (!stmpe_gpio->domain) { |
| @@ -346,6 +350,9 @@ static int stmpe_gpio_probe(struct platform_device *pdev) | |||
| 346 | stmpe_gpio->chip = template_chip; | 350 | stmpe_gpio->chip = template_chip; |
| 347 | stmpe_gpio->chip.ngpio = stmpe->num_gpios; | 351 | stmpe_gpio->chip.ngpio = stmpe->num_gpios; |
| 348 | stmpe_gpio->chip.dev = &pdev->dev; | 352 | stmpe_gpio->chip.dev = &pdev->dev; |
| 353 | #ifdef CONFIG_OF | ||
| 354 | stmpe_gpio->chip.of_node = np; | ||
| 355 | #endif | ||
| 349 | stmpe_gpio->chip.base = pdata ? pdata->gpio_base : -1; | 356 | stmpe_gpio->chip.base = pdata ? pdata->gpio_base : -1; |
| 350 | 357 | ||
| 351 | if (pdata) | 358 | if (pdata) |
| @@ -366,7 +373,7 @@ static int stmpe_gpio_probe(struct platform_device *pdev) | |||
| 366 | goto out_free; | 373 | goto out_free; |
| 367 | 374 | ||
| 368 | if (irq >= 0) { | 375 | if (irq >= 0) { |
| 369 | ret = stmpe_gpio_irq_init(stmpe_gpio); | 376 | ret = stmpe_gpio_irq_init(stmpe_gpio, np); |
| 370 | if (ret) | 377 | if (ret) |
| 371 | goto out_disable; | 378 | goto out_disable; |
| 372 | 379 | ||
