linux-next: build failure after merge of the final tree (mfd andinput trees related)

From: Stephen Rothwell
Date: Wed Mar 21 2012 - 03:30:14 EST


Hi all,

After merging the final tree, today's linux-next build (powerpc
allyesconfig) failed like this:

In file included from drivers/leds/leds-max8997.c:18:0:
include/linux/mfd/max8997.h:205:6: error: nested redefinition of 'enum max8997_haptic_motor_type'
include/linux/mfd/max8997.h:205:6: error: redeclaration of 'enum max8997_haptic_motor_type'
include/linux/mfd/max8997.h:134:6: note: originally defined here
include/linux/mfd/max8997.h:206:2: error: redeclaration of enumerator 'MAX8997_HAPTIC_ERM'
include/linux/mfd/max8997.h:135:2: note: previous definition of 'MAX8997_HAPTIC_ERM' was here
include/linux/mfd/max8997.h:207:2: error: redeclaration of enumerator 'MAX8997_HAPTIC_LRA'
include/linux/mfd/max8997.h:136:2: note: previous definition of 'MAX8997_HAPTIC_LRA' was here
include/linux/mfd/max8997.h:210:6: error: nested redefinition of 'enum max8997_haptic_pulse_mode'
include/linux/mfd/max8997.h:210:6: error: redeclaration of 'enum max8997_haptic_pulse_mode'
include/linux/mfd/max8997.h:139:6: note: originally defined here
include/linux/mfd/max8997.h:211:2: error: redeclaration of enumerator 'MAX8997_EXTERNAL_MODE'
include/linux/mfd/max8997.h:140:2: note: previous definition of 'MAX8997_EXTERNAL_MODE' was here
include/linux/mfd/max8997.h:212:2: error: redeclaration of enumerator 'MAX8997_INTERNAL_MODE'
include/linux/mfd/max8997.h:141:2: note: previous definition of 'MAX8997_INTERNAL_MODE' was here
include/linux/mfd/max8997.h:215:6: error: nested redefinition of 'enum max8997_haptic_pwm_divisor'
include/linux/mfd/max8997.h:215:6: error: redeclaration of 'enum max8997_haptic_pwm_divisor'
include/linux/mfd/max8997.h:144:6: note: originally defined here
include/linux/mfd/max8997.h:216:2: error: redeclaration of enumerator 'MAX8997_PWM_DIVISOR_32'
include/linux/mfd/max8997.h:145:2: note: previous definition of 'MAX8997_PWM_DIVISOR_32' was here
include/linux/mfd/max8997.h:217:2: error: redeclaration of enumerator 'MAX8997_PWM_DIVISOR_64'
include/linux/mfd/max8997.h:146:2: note: previous definition of 'MAX8997_PWM_DIVISOR_64' was here
include/linux/mfd/max8997.h:218:2: error: redeclaration of enumerator 'MAX8997_PWM_DIVISOR_128'
include/linux/mfd/max8997.h:147:2: note: previous definition of 'MAX8997_PWM_DIVISOR_128' was here
include/linux/mfd/max8997.h:219:2: error: redeclaration of enumerator 'MAX8997_PWM_DIVISOR_256'
include/linux/mfd/max8997.h:148:2: note: previous definition of 'MAX8997_PWM_DIVISOR_256' was here
include/linux/mfd/max8997.h:241:8: error: redefinition of 'struct max8997_haptic_platform_data'
include/linux/mfd/max8997.h:170:8: note: originally defined here

Caused by a bad merge of commits 104594b01ce7 ("Input: add driver support
for MAX8997-haptic") from the input tree and 02b09703e7a4 ("mfd: Add
platform data for MAX8997 haptic driver") from the mfd tree.

I applied this patch for today (which effectively removes the mfd tree
patch above):

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Wed, 21 Mar 2012 18:25:30 +1100
Subject: [PATCH] fix up merge of include/linux/mfd/max8997.h

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
include/linux/mfd/max8997.h | 49 -------------------------------------------
1 files changed, 0 insertions(+), 49 deletions(-)

diff --git a/include/linux/mfd/max8997.h b/include/linux/mfd/max8997.h
index 4ec373e..28726dd 100644
--- a/include/linux/mfd/max8997.h
+++ b/include/linux/mfd/max8997.h
@@ -202,55 +202,6 @@ struct max8997_led_platform_data {
u8 brightness[2];
};

-enum max8997_haptic_motor_type {
- MAX8997_HAPTIC_ERM,
- MAX8997_HAPTIC_LRA,
-};
-
-enum max8997_haptic_pulse_mode {
- MAX8997_EXTERNAL_MODE,
- MAX8997_INTERNAL_MODE,
-};
-
-enum max8997_haptic_pwm_divisor {
- MAX8997_PWM_DIVISOR_32,
- MAX8997_PWM_DIVISOR_64,
- MAX8997_PWM_DIVISOR_128,
- MAX8997_PWM_DIVISOR_256,
-};
-
-/*
- * max8997_haptic_platform_data
- * @pwm_channel_id: channel number of PWM device
- * valid for MAX8997_EXTERNAL_MODE
- * @pwm_period: period in nano second for PWM device
- * valid for MAX8997_EXTERNAL_MODE
- * @type: motor type
- * @mode: pulse mode
- * MAX8997_EXTERNAL_MODE: external PWM device is used to control motor
- * MAX8997_INTERNAL_MODE: internal pulse generator is used to control motor
- * @pwm_divisor: divisor for external PWM device
- * @internal_mode_pattern: internal mode pattern for internal mode
- * [0 - 3]: valid pattern number
- * @pattern_cycle: the number of cycles of the waveform
- * for the internal mode pattern
- * [0 - 15]: available cycles
- * @pattern_signal_period: period of the waveform for the internal mode pattern
- * [0 - 255]: available period
- */
-struct max8997_haptic_platform_data {
- int pwm_channel_id;
- int pwm_period;
-
- enum max8997_haptic_motor_type type;
- enum max8997_haptic_pulse_mode mode;
- enum max8997_haptic_pwm_divisor pwm_divisor;
-
- int internal_mode_pattern;
- int pattern_cycle;
- int pattern_signal_period;
-};
-
struct max8997_platform_data {
/* IRQ */
int irq_base;
--
1.7.9.1

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature