Ошибка компилятора: «ожидаемое выражение» при редактировании статистики препроцессора Linux - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь добавить условный оператор в некоторый код для каждого процессора, но я не уверен, почему он не будет компилироваться. Вот неизмененный код:

static struct i2c_board_info ccwmx51_i2c_devices[] __initdata = {

    {
        // Use erdigitemp2 driver for device id 0x48 (digital temperature sensor)
        I2C_BOARD_INFO("erdigitemp2", 0x48)
    },
    {
        // Use erdigitemp2 driver for device id 0x4c (digital temperature sensor)
        I2C_BOARD_INFO("erdigitemp2", 0x4c)
    },
    {
        // Use tvp5150 driver for device id 0x5c (camera decoder)
        I2C_BOARD_INFO("tvp5150tj", 0xb8 >> 1)
    },
#if defined(CONFIG_TJTKMJ_LSM303DLHC)
        {
                // STMICROELECTRONICS LSM303DLHC e-compass
                // accelerometer
                I2C_BOARD_INFO("lsm303dlhc_acc", 0x19)
        },
        {
                // magnetometer
                I2C_BOARD_INFO("lsm303dlhc_mag", 0x1e)
        },
#endif  
#if defined(CONFIG_INPUT_MMA7455L) || defined(CONFIG_INPUT_MMA7455L_MODULE)
    {
        I2C_BOARD_INFO("mma7455l", 0x1d),
        .irq = IOMUX_TO_IRQ(MX51_PIN_GPIO1_7),
    },
#endif
#if defined(CONFIG_SND_SOC_IMX_CCWMX51_WM8753) || defined(CONFIG_SND_SOC_IMX_CCWMX51_WM8753_MODULE)
        {
            I2C_BOARD_INFO("wm8753", 0x1A),
        },
#endif
#if defined (CONFIG_MXC_CAMERA_MICRON111_1) || defined(CONFIG_MXC_CAMERA_MICRON111_1_MODULE)
    {
        I2C_BOARD_INFO("mt9v111_1", 0xB8>>1),
    },
#endif
#if defined (CONFIG_MXC_CAMERA_MICRON111_2) || defined(CONFIG_MXC_CAMERA_MICRON111_2_MODULE)
    {
        I2C_BOARD_INFO("mt9v111_2", 0x90>>1),
    },
#endif
};

и мои изменения - это простое утверждение if:

if (hardware_id() == 0) {
    #if defined(CONFIG_SND_SOC_IMX_CCWMX51_WM8753) || defined(CONFIG_SND_SOC_IMX_CCWMX51_WM8753_MODULE)
        {
            I2C_BOARD_INFO("wm8753", 0x1A),
            },
    #endif
}

Ошибка компилятора:

ошибка: ожидаемое выражение перед «если»

1 Ответ

0 голосов
/ 10 ноября 2018

Я не уверен, решит ли это вашу проблему, но по крайней мере она должна скомпилироваться.

#if defined(CONFIG_SND_SOC_IMX_CCWMX51_WM8753) || defined(CONFIG_SND_SOC_IMX_CCWMX51_WM8753_MODULE)
if (hardware_id() == 0){
    I2C_BOARD_INFO("wm8753", 0x1A),
}else{
    //something
},
#endif
...