Skip to content

Support modules in Linux #19

@ckaestne

Description

@ckaestne

This occurs quite frequently during linking, that two files cannot be linked together but are also just compiled as separate modules (which controls linking restrictively).

First of all, we need to handle how to read the feature model correctly to not attempt to link those files.

Second, we should build a mechanisms to check modules and infer their interfaces.

Here is an example of two files that may be linked individually or be loaded both as modules, but not linked both (the feature model does describe the constraints correctly, but we do not process them correctly):

** processing drivers/media/radio/si470x **
parsing3 files
composing
 * si470x_get_register when !CONFIG_VIDEO_DEV | CONFIG_VIDEO_DEV & !CONFIG_RADIO_SI470X | CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & !CONFIG_USB_SI470X | CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & CONFIG_USB_SI470X & !CONFIG_I2C_SI470X
    si470x_get_register: (*struct si470x_device, signed int) => signed int      if CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & CONFIG_I2C_SI470X       at l/drivers/media/radio/si470x/radio-si470x-i2c:0:0
    si470x_get_register: (*struct si470x_device, signed int) => signed int      if CONFIG_VIDEO_DEV & CONFIG_RADIO_SI470X & CONFIG_USB_SI470X       at l/drivers/media/radio/si470x/radio-si470x-usb:0:0

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions