diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mfd/mc13xxx-core.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c index 06e64b6fcb89..0c6c21c5b1a8 100644 --- a/drivers/mfd/mc13xxx-core.c +++ b/drivers/mfd/mc13xxx-core.c | |||
@@ -673,9 +673,13 @@ int mc13xxx_common_init(struct device *dev) | |||
673 | if (mc13xxx->flags & MC13XXX_USE_ADC) | 673 | if (mc13xxx->flags & MC13XXX_USE_ADC) |
674 | mc13xxx_add_subdevice(mc13xxx, "%s-adc"); | 674 | mc13xxx_add_subdevice(mc13xxx, "%s-adc"); |
675 | 675 | ||
676 | if (mc13xxx->flags & MC13XXX_USE_CODEC) | 676 | if (mc13xxx->flags & MC13XXX_USE_CODEC) { |
677 | mc13xxx_add_subdevice_pdata(mc13xxx, "%s-codec", | 677 | if (pdata) |
678 | pdata->codec, sizeof(*pdata->codec)); | 678 | mc13xxx_add_subdevice_pdata(mc13xxx, "%s-codec", |
679 | pdata->codec, sizeof(*pdata->codec)); | ||
680 | else | ||
681 | mc13xxx_add_subdevice(mc13xxx, "%s-codec"); | ||
682 | } | ||
679 | 683 | ||
680 | if (mc13xxx->flags & MC13XXX_USE_RTC) | 684 | if (mc13xxx->flags & MC13XXX_USE_RTC) |
681 | mc13xxx_add_subdevice(mc13xxx, "%s-rtc"); | 685 | mc13xxx_add_subdevice(mc13xxx, "%s-rtc"); |