f65deb63f279dffc281f7fb06616c25e2daf0d8d
[profile/mobile/platform/kernel/linux-3.10-sc7730.git] / kernel / swap / energy / Makefile
1 ccflags-y := -Ikernel/swap
2
3 ifeq ($(CONFIG_ARM), y)
4     link = arm
5 endif
6
7 ifeq ($(CONFIG_X86), y)
8     link = x86
9 endif
10
11 ccflags-y += -Ikernel/swap/kprobe/arch/$(link) \
12              -Ikernel/swap/uprobe/arch/$(link)
13
14
15
16
17
18 ###############################################################################
19 ###                      swap energy module description                     ###
20 ###############################################################################
21 obj-$(CONFIG_SWAP_DA) := swap_energy.o
22 swap_energy-y := energy_module.o \
23                  energy.o \
24                  rational_debugfs.o \
25                  debugfs_energy.o \
26                  lcd/lcd_base.o \
27                  lcd/lcd_debugfs.o
28
29
30
31
32
33 ###############################################################################
34 ###                               math support                              ###
35 ###############################################################################
36 # S6E8AA0:
37 ifeq ($(CONFIG_LCD_S6E8AA0), y)
38     swap_energy-y += lcd/s6e8aa0.o
39     LCD_FUNC_LIST += s6e8aa0
40 endif
41
42
43 # PANEL_S6E8AA0:
44 ifeq ($(CONFIG_DISPLAY_PANEL_S6E8AA0), y)
45     swap_energy-y += lcd/s6e8aa0_panel.o
46     LCD_FUNC_LIST += s6e8aa0_panel
47 endif
48
49
50 # MARU:
51 ifeq ($(CONFIG_MARU_BACKLIGHT), y)
52     swap_energy-y += lcd/maru.o
53     LCD_FUNC_LIST += maru
54 endif
55
56
57
58
59
60 ###############################################################################
61 ###                          description functions                          ###
62 ###############################################################################
63 LCD_FUNC_ARGS := void
64 LCD_FUNC_RET := struct lcd_ops *
65
66
67
68
69
70 ###############################################################################
71 ###                            generate defines                             ###
72 ###############################################################################
73 LCD_PREFIX := lcd_energy_
74
75 # add prefix
76 TMP := $(foreach it, $(LCD_FUNC_LIST), $(LCD_PREFIX)$(it))
77 LCD_FUNC_LIST := $(TMP)
78
79 # generate DEFINITION_LCD_FUNC
80 TMP := ($(LCD_FUNC_ARGS));
81 DEFINITION_LCD_FUNC := DEFINITION_LCD_FUNC=\
82 $(foreach it, $(LCD_FUNC_LIST), "extern" $(LCD_FUNC_RET) $(it)$(TMP))
83
84
85 # generate DEFINITION_LCD_ARRAY
86 COMMA := ,
87 AND := &
88 DEFINITION_LCD_ARRAY := DEFINITION_LCD_ARRAY=\
89 "{" $(foreach it, $(LCD_FUNC_LIST), &$(it),) "}"
90
91
92 # generate LCD_MAKE_FNAME
93 LCD_MAKE_FNAME := LCD_MAKE_FNAME(name)=$(LCD_PREFIX)\#\#name
94
95
96
97
98
99 ###############################################################################
100 ###                  add generate defines to EXTRA_CFLAGS                   ###
101 ###############################################################################
102 ccflags-y    += -D"$(DEFINITION_LCD_FUNC)" \
103                 -D"$(DEFINITION_LCD_ARRAY)" \
104                 -D"$(LCD_MAKE_FNAME)"