Re: [PATCH v0 01/11] stm class: Introduce an abstraction for System Trace Module devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Bolle <pebolle@xxxxxxxxxx> writes:

> On Sat, 2015-03-07 at 13:35 +0200, Alexander Shishkin wrote:
>>  Documentation/ABI/testing/configfs-stp-policy    |  44 ++
>
> git am whined about this file when I tried to apply this patch:
>     Applying: stm class: Introduce an abstraction for System Trace Module devices
>     [...]/.git/rebase-apply/patch:77: new blank line at EOF.
>
>>  Documentation/ABI/testing/sysfs-class-stm        |  14 +
>>  Documentation/ABI/testing/sysfs-class-stm_source |  11 +
>>  Documentation/trace/stm.txt                      |  77 +++
>>  drivers/Kconfig                                  |   2 +
>>  drivers/Makefile                                 |   1 +
>>  drivers/stm/Kconfig                              |   8 +
>>  drivers/stm/Makefile                             |   3 +
>>  drivers/stm/core.c                               | 839 +++++++++++++++++++++++
>>  drivers/stm/policy.c                             | 470 +++++++++++++
>>  drivers/stm/stm.h                                |  77 +++
>>  include/linux/stm.h                              |  87 +++
>>  include/uapi/linux/stm.h                         |  47 ++
>
>> --- /dev/null
>> +++ b/drivers/stm/Kconfig
>> @@ -0,0 +1,8 @@
>> +config STM
>> +	tristate "System Trace Module devices"
>> +	help
>> +	  A System Trace Module (STM) is a device exporting data in System
>> +	  Trace Protocol (STP) format as defined by MIPI STP standards.
>> +	  Examples of such devices are Intel Trace Hub and Coresight STM.
>> +
>> +	  Say Y here to enable System Trace Module device support.
>> diff --git a/drivers/stm/Makefile b/drivers/stm/Makefile
>> new file mode 100644
>> index 0000000000..adec701649
>> --- /dev/null
>> +++ b/drivers/stm/Makefile
>> @@ -0,0 +1,3 @@
>> +obj-$(CONFIG_STM)	+= stm_core.o
>> +
>> +stm_core-y		:= core.o policy.o
>
> I tried to compile this as a module:
>     $ make -C ../.. M=$PWD CONFIG_STM=m stm_core.ko
>     make: Entering directory `[...]'
>       LD [M]  [...]/drivers/stm/stm_core.o
>     [...]/drivers/stm/policy.o: In function `stp_configfs_init':
>     policy.c:(.text+0x5f0): multiple definition of `init_module'
>     [...]/drivers/stm/core.o:core.c:(.init.text+0x0): first defined here
>     make[1]: *** [[...]/drivers/stm/stm_core.o] Error 1
>     make: *** [stm_core.ko] Error 2
>     make: Leaving directory `[...]'
>
> I think that's because
>     postcore_initcall(stm_core_init);
>
> in core.c becomes
>     module_init(stm_core_init);
>
> if this driver is compiled as a module. And that will clash with
>     module_init(stp_configfs_init);
>
> in policy.c. Am I missing something obvious or should STM not be a
> tristate symbol?

My mistake, I think I fancied the policy to be a separate module in the
beginning. But I don't see why STM shouldn't be a tristate after the
above is fixed.

Thanks,
--
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux