Commit | Line | Data |
---|---|---|
1dbae815 TL |
1 | # |
2 | # Makefile for the linux kernel. | |
3 | # | |
4 | ||
a0694861 TL |
5 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ |
6 | -I$(srctree)/arch/arm/plat-omap/include | |
7 | ||
1dbae815 | 8 | # Common support |
18640193 | 9 | obj-y := id.o io.o control.o mux.o devices.o fb.o serial.o timer.o pm.o \ |
25c7d49e | 10 | common.o gpio.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \ |
7a59743d | 11 | omap_device.o sram.o drm.o |
d7607663 | 12 | |
c02060d8 | 13 | hwmod-common = omap_hwmod.o omap_hwmod_reset.o \ |
139563ad PW |
14 | omap_hwmod_common_data.o |
15 | clock-common = clock.o clock_common_data.o \ | |
16 | clkt_dpll.o clkt_clksel.o | |
17 | secure-common = omap-smc.o omap-secure.o | |
445d12a9 | 18 | |
139563ad PW |
19 | obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) |
20 | obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) | |
cae26f31 | 21 | obj-$(CONFIG_ARCH_OMAP4) += $(hwmod-common) $(secure-common) |
8598066c | 22 | obj-$(CONFIG_SOC_AM33XX) += $(hwmod-common) |
cae26f31 | 23 | obj-$(CONFIG_SOC_OMAP5) += $(hwmod-common) $(secure-common) |
33f82f33 | 24 | obj-$(CONFIG_SOC_AM43XX) += $(hwmod-common) $(secure-common) |
cae26f31 | 25 | obj-$(CONFIG_SOC_DRA7XX) += $(hwmod-common) $(secure-common) |
445d12a9 | 26 | |
3ead4679 PU |
27 | ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) |
28 | obj-y += mcbsp.o | |
29 | endif | |
78673bc8 | 30 | |
139563ad PW |
31 | obj-$(CONFIG_TWL4030_CORE) += omap_twl.o |
32 | obj-$(CONFIG_SOC_HAS_OMAP2_SDRC) += sdrc.o | |
fbc319f6 | 33 | |
934f8be7 | 34 | # SMP support ONLY available for OMAP4 |
eb401553 | 35 | |
572b16db AB |
36 | smp-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o |
37 | smp-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o | |
22fe3b89 MA |
38 | omap-4-5-common = omap4-common.o omap-wakeupgen.o |
39 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) $(smp-y) sleep44xx.o | |
40 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) $(smp-y) sleep44xx.o | |
33f82f33 | 41 | obj-$(CONFIG_SOC_AM43XX) += $(omap-4-5-common) |
26273e02 | 42 | obj-$(CONFIG_SOC_DRA7XX) += $(omap-4-5-common) $(smp-y) sleep44xx.o |
d660f9a2 | 43 | |
fe297dde JR |
44 | plus_sec := $(call as-instr,.arch_extension sec,+sec) |
45 | AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) | |
ba9456ac | 46 | AFLAGS_omap-smc.o :=-Wa,-march=armv7-a$(plus_sec) |
b2b9762f | 47 | AFLAGS_sleep44xx.o :=-Wa,-march=armv7-a$(plus_sec) |
934f8be7 | 48 | |
c2d43e39 | 49 | # Functions loaded to SRAM |
59b479e0 TL |
50 | obj-$(CONFIG_SOC_OMAP2420) += sram242x.o |
51 | obj-$(CONFIG_SOC_OMAP2430) += sram243x.o | |
cc26b3b0 | 52 | obj-$(CONFIG_ARCH_OMAP3) += sram34xx.o |
c2d43e39 | 53 | |
56213ca4 TL |
54 | AFLAGS_sram242x.o :=-Wa,-march=armv6 |
55 | AFLAGS_sram243x.o :=-Wa,-march=armv6 | |
56 | AFLAGS_sram34xx.o :=-Wa,-march=armv7-a | |
57 | ||
2f334a38 PW |
58 | # Restart code (OMAP4/5 currently in omap4-common.c) |
59 | obj-$(CONFIG_SOC_OMAP2420) += omap2-restart.o | |
60 | obj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o | |
bc7235c9 | 61 | obj-$(CONFIG_SOC_TI81XX) += ti81xx-restart.o |
14e067c1 | 62 | obj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o |
a7daf64a | 63 | obj-$(CONFIG_SOC_AM43XX) += omap4-restart.o |
2f334a38 | 64 | obj-$(CONFIG_ARCH_OMAP3) += omap3-restart.o |
ab4c2e1b AM |
65 | obj-$(CONFIG_ARCH_OMAP4) += omap4-restart.o |
66 | obj-$(CONFIG_SOC_OMAP5) += omap4-restart.o | |
1d597b07 | 67 | obj-$(CONFIG_SOC_DRA7XX) += omap4-restart.o |
2f334a38 | 68 | |
ddaa912a TL |
69 | # Pin multiplexing |
70 | obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o | |
71 | ||
f2ab9977 PW |
72 | # SMS/SDRC |
73 | obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o | |
74 | # obj-$(CONFIG_ARCH_OMAP3) += sdrc3xxx.o | |
75 | ||
fd1478cd NM |
76 | # OPP table initialization |
77 | ifeq ($(CONFIG_PM_OPP),y) | |
78 | obj-y += opp.o | |
79 | obj-$(CONFIG_ARCH_OMAP3) += opp3xxx_data.o | |
f5a6422d | 80 | obj-$(CONFIG_ARCH_OMAP4) += opp4xxx_data.o |
fd1478cd NM |
81 | endif |
82 | ||
120db2cb | 83 | # Power Management |
0b4b61c0 TL |
84 | obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o |
85 | ||
1835f1d7 | 86 | ifeq ($(CONFIG_PM),y) |
139563ad PW |
87 | obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o |
88 | obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o | |
eb401553 | 89 | obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o |
377fb3f5 NM |
90 | omap-4-5-pm-common = pm44xx.o omap-mpuss-lowpower.o |
91 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-pm-common) | |
92 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-pm-common) | |
93 | obj-$(CONFIG_SOC_DRA7XX) += $(omap-4-5-pm-common) | |
8bd22949 | 94 | obj-$(CONFIG_PM_DEBUG) += pm-debug.o |
7fb149ff | 95 | |
21ff63ad | 96 | obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o |
139563ad | 97 | obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o |
56213ca4 TL |
98 | |
99 | AFLAGS_sleep24xx.o :=-Wa,-march=armv6 | |
6ba5932c | 100 | AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) |
56213ca4 | 101 | |
1835f1d7 | 102 | endif |
120db2cb | 103 | |
164e0cbf | 104 | ifeq ($(CONFIG_CPU_IDLE),y) |
139563ad | 105 | obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o |
377fb3f5 NM |
106 | omap-4-5-idle-common = cpuidle44xx.o |
107 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-idle-common) | |
108 | obj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-idle-common) | |
109 | obj-$(CONFIG_SOC_DRA7XX) += $(omap-4-5-idle-common) | |
164e0cbf DL |
110 | endif |
111 | ||
71348bca | 112 | # PRCM |
b99db36c | 113 | obj-y += prm_common.o cm_common.o |
ff4ae5d9 PW |
114 | obj-$(CONFIG_ARCH_OMAP2) += prm2xxx_3xxx.o prm2xxx.o cm2xxx.o |
115 | obj-$(CONFIG_ARCH_OMAP3) += prm2xxx_3xxx.o prm3xxx.o cm3xxx.o | |
df47adb8 | 116 | obj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o |
88f9474f | 117 | omap-prcm-4-5-common = cminst44xx.o prm44xx.o \ |
05e152c7 | 118 | prcm_mpu44xx.o prminst44xx.o \ |
139563ad | 119 | vc44xx_data.o vp44xx_data.o |
df47adb8 | 120 | obj-$(CONFIG_ARCH_OMAP4) += $(omap-prcm-4-5-common) |
05e152c7 | 121 | obj-$(CONFIG_SOC_OMAP5) += $(omap-prcm-4-5-common) |
bfe9211a | 122 | obj-$(CONFIG_SOC_DRA7XX) += $(omap-prcm-4-5-common) |
98bbc114 | 123 | am33xx-43xx-prcm-common += prm33xx.o cm33xx.o |
4d38bd12 | 124 | obj-$(CONFIG_SOC_TI81XX) += $(am33xx-43xx-prcm-common) |
98bbc114 DG |
125 | obj-$(CONFIG_SOC_AM33XX) += $(am33xx-43xx-prcm-common) |
126 | obj-$(CONFIG_SOC_AM43XX) += $(omap-prcm-4-5-common) \ | |
127 | $(am33xx-43xx-prcm-common) | |
c0718df4 PW |
128 | |
129 | # OMAP voltage domains | |
139563ad PW |
130 | voltagedomain-common := voltage.o vc.o vp.o |
131 | obj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common) | |
eb401553 | 132 | obj-$(CONFIG_ARCH_OMAP2) += voltagedomains2xxx_data.o |
139563ad | 133 | obj-$(CONFIG_ARCH_OMAP3) += $(voltagedomain-common) |
eb401553 | 134 | obj-$(CONFIG_ARCH_OMAP3) += voltagedomains3xxx_data.o |
139563ad | 135 | obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) |
eb401553 | 136 | obj-$(CONFIG_ARCH_OMAP4) += voltagedomains44xx_data.o |
139563ad | 137 | obj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common) |
33f82f33 | 138 | obj-$(CONFIG_SOC_AM43XX) += $(voltagedomain-common) |
139563ad | 139 | obj-$(CONFIG_SOC_OMAP5) += $(voltagedomain-common) |
e4020aa9 | 140 | obj-$(CONFIG_SOC_OMAP5) += voltagedomains54xx_data.o |
68b9f608 | 141 | obj-$(CONFIG_SOC_DRA7XX) += $(voltagedomain-common) |
74bea6b9 RN |
142 | |
143 | # OMAP powerdomain framework | |
139563ad PW |
144 | powerdomain-common += powerdomain.o powerdomain-common.o |
145 | obj-$(CONFIG_ARCH_OMAP2) += $(powerdomain-common) | |
eb401553 | 146 | obj-$(CONFIG_ARCH_OMAP2) += powerdomains2xxx_data.o |
eb401553 | 147 | obj-$(CONFIG_ARCH_OMAP2) += powerdomains2xxx_3xxx_data.o |
139563ad | 148 | obj-$(CONFIG_ARCH_OMAP3) += $(powerdomain-common) |
eb401553 SS |
149 | obj-$(CONFIG_ARCH_OMAP3) += powerdomains3xxx_data.o |
150 | obj-$(CONFIG_ARCH_OMAP3) += powerdomains2xxx_3xxx_data.o | |
139563ad | 151 | obj-$(CONFIG_ARCH_OMAP4) += $(powerdomain-common) |
eb401553 | 152 | obj-$(CONFIG_ARCH_OMAP4) += powerdomains44xx_data.o |
139563ad | 153 | obj-$(CONFIG_SOC_AM33XX) += $(powerdomain-common) |
3f0ea764 | 154 | obj-$(CONFIG_SOC_AM33XX) += powerdomains33xx_data.o |
33f82f33 | 155 | obj-$(CONFIG_SOC_AM43XX) += $(powerdomain-common) |
d9df6e1e | 156 | obj-$(CONFIG_SOC_AM43XX) += powerdomains43xx_data.o |
139563ad | 157 | obj-$(CONFIG_SOC_OMAP5) += $(powerdomain-common) |
e4020aa9 | 158 | obj-$(CONFIG_SOC_OMAP5) += powerdomains54xx_data.o |
bfe9211a | 159 | obj-$(CONFIG_SOC_DRA7XX) += $(powerdomain-common) |
97dd16b1 | 160 | obj-$(CONFIG_SOC_DRA7XX) += powerdomains7xx_data.o |
71348bca | 161 | |
dc0b3a70 | 162 | # PRCM clockdomain control |
139563ad PW |
163 | clockdomain-common += clockdomain.o |
164 | obj-$(CONFIG_ARCH_OMAP2) += $(clockdomain-common) | |
eb401553 | 165 | obj-$(CONFIG_ARCH_OMAP2) += clockdomains2xxx_3xxx_data.o |
a5ffef6a PW |
166 | obj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o |
167 | obj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o | |
139563ad | 168 | obj-$(CONFIG_ARCH_OMAP3) += $(clockdomain-common) |
eb401553 SS |
169 | obj-$(CONFIG_ARCH_OMAP3) += clockdomains2xxx_3xxx_data.o |
170 | obj-$(CONFIG_ARCH_OMAP3) += clockdomains3xxx_data.o | |
139563ad | 171 | obj-$(CONFIG_ARCH_OMAP4) += $(clockdomain-common) |
eb401553 | 172 | obj-$(CONFIG_ARCH_OMAP4) += clockdomains44xx_data.o |
139563ad | 173 | obj-$(CONFIG_SOC_AM33XX) += $(clockdomain-common) |
9c80f3aa | 174 | obj-$(CONFIG_SOC_AM33XX) += clockdomains33xx_data.o |
a64459c4 AM |
175 | obj-$(CONFIG_SOC_TI81XX) += $(clockdomain-common) |
176 | obj-$(CONFIG_SOC_TI81XX) += clockdomains81xx_data.o | |
33f82f33 | 177 | obj-$(CONFIG_SOC_AM43XX) += $(clockdomain-common) |
d9df6e1e | 178 | obj-$(CONFIG_SOC_AM43XX) += clockdomains43xx_data.o |
139563ad | 179 | obj-$(CONFIG_SOC_OMAP5) += $(clockdomain-common) |
e4020aa9 | 180 | obj-$(CONFIG_SOC_OMAP5) += clockdomains54xx_data.o |
bfe9211a | 181 | obj-$(CONFIG_SOC_DRA7XX) += $(clockdomain-common) |
11fadcfa | 182 | obj-$(CONFIG_SOC_DRA7XX) += clockdomains7xx_data.o |
530e544f | 183 | |
3d876e59 | 184 | # Clock framework |
139563ad | 185 | obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o |
139563ad | 186 | obj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_dpllcore.o |
eb401553 | 187 | obj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_virt_prcm_set.o |
eb401553 | 188 | obj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_dpll.o clkt_iclk.o |
6a194a6e | 189 | obj-$(CONFIG_SOC_OMAP2430) += clock2430.o |
139563ad | 190 | obj-$(CONFIG_ARCH_OMAP3) += $(clock-common) clock3xxx.o |
eb401553 | 191 | obj-$(CONFIG_ARCH_OMAP3) += clock34xx.o clkt34xx_dpll3m2.o |
139563ad | 192 | obj-$(CONFIG_ARCH_OMAP3) += clock3517.o clock36xx.o |
d6540b19 | 193 | obj-$(CONFIG_ARCH_OMAP3) += dpll3xxx.o |
139563ad | 194 | obj-$(CONFIG_ARCH_OMAP3) += clkt_iclk.o |
c8c88d85 | 195 | obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) |
eb401553 | 196 | obj-$(CONFIG_ARCH_OMAP4) += dpll3xxx.o dpll44xx.o |
139563ad | 197 | obj-$(CONFIG_SOC_AM33XX) += $(clock-common) dpll3xxx.o |
139563ad | 198 | obj-$(CONFIG_SOC_OMAP5) += $(clock-common) |
05e152c7 | 199 | obj-$(CONFIG_SOC_OMAP5) += dpll3xxx.o dpll44xx.o |
87a85b68 TK |
200 | obj-$(CONFIG_SOC_DRA7XX) += $(clock-common) |
201 | obj-$(CONFIG_SOC_DRA7XX) += dpll3xxx.o dpll44xx.o | |
202 | obj-$(CONFIG_SOC_AM43XX) += $(clock-common) dpll3xxx.o | |
657ebfad PW |
203 | |
204 | # OMAP2 clock rate set data (old "OPP" data) | |
59b479e0 TL |
205 | obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o |
206 | obj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o | |
3d876e59 | 207 | |
7359154e | 208 | # hwmod data |
509efaf3 | 209 | obj-y += omap_hwmod_common_ipblock_data.o |
eb401553 SS |
210 | obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_ipblock_data.o |
211 | obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_3xxx_ipblock_data.o | |
212 | obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_interconnect_data.o | |
213 | obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_3xxx_interconnect_data.o | |
214 | obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2420_data.o | |
215 | obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_ipblock_data.o | |
216 | obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_3xxx_ipblock_data.o | |
217 | obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_interconnect_data.o | |
218 | obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_3xxx_interconnect_data.o | |
219 | obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2430_data.o | |
220 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_2xxx_3xxx_ipblock_data.o | |
221 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_2xxx_3xxx_interconnect_data.o | |
222 | obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o | |
a2cfc509 | 223 | obj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_data.o |
26649467 AM |
224 | obj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_43xx_interconnect_data.o |
225 | obj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_43xx_ipblock_data.o | |
d9df6e1e AM |
226 | obj-$(CONFIG_SOC_AM43XX) += omap_hwmod_43xx_data.o |
227 | obj-$(CONFIG_SOC_AM43XX) += omap_hwmod_33xx_43xx_interconnect_data.o | |
228 | obj-$(CONFIG_SOC_AM43XX) += omap_hwmod_33xx_43xx_ipblock_data.o | |
4d38bd12 | 229 | obj-$(CONFIG_SOC_TI81XX) += omap_hwmod_81xx_data.o |
55d2cb08 | 230 | obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o |
e4020aa9 | 231 | obj-$(CONFIG_SOC_OMAP5) += omap_hwmod_54xx_data.o |
90020c7b | 232 | obj-$(CONFIG_SOC_DRA7XX) += omap_hwmod_7xx_data.o |
3d876e59 | 233 | |
183bd50f | 234 | # EMU peripherals |
ee75d95c | 235 | obj-$(CONFIG_HW_PERF_EVENTS) += pmu.o |
183bd50f | 236 | |
0bbc6fcf HD |
237 | iommu-$(CONFIG_OMAP_IOMMU) := omap-iommu.o |
238 | obj-y += $(iommu-m) $(iommu-y) | |
caf60779 | 239 | |
ad1b6662 TL |
240 | # OMAP2420 MSDI controller integration support ("MMC") |
241 | obj-$(CONFIG_SOC_OMAP2420) += msdi.o | |
242 | ||
1dbae815 | 243 | # Specific board support |
6a08e1e6 | 244 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o pdata-quirks.o |
f41caddb | 245 | obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o |
63138812 | 246 | obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o |
eb401553 SS |
247 | obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o sdram-nokia.o |
248 | obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51-peripherals.o | |
249 | obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51-video.o | |
f41caddb | 250 | |
18cb7aca | 251 | # Platform specific device init code |
f41caddb TL |
252 | |
253 | omap-flash-$(CONFIG_MTD_NAND_OMAP2) := board-flash.o | |
254 | omap-flash-$(CONFIG_MTD_ONENAND_OMAP2) := board-flash.o | |
255 | obj-y += $(omap-flash-y) $(omap-flash-m) | |
256 | ||
257 | omap-hsmmc-$(CONFIG_MMC_OMAP_HS) := hsmmc.o | |
258 | obj-y += $(omap-hsmmc-m) $(omap-hsmmc-y) | |
259 | ||
18cb7aca | 260 | obj-y += usb-musb.o |
b3c3dc22 FB |
261 | obj-y += omap_phy_internal.o |
262 | ||
1b52d5df | 263 | obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o |
a8480ea0 | 264 | obj-y += usb-host.o |
aa62e90f JY |
265 | |
266 | onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o | |
267 | obj-y += $(onenand-m) $(onenand-y) | |
1a48e157 | 268 | |
2f70a1e9 VS |
269 | nand-$(CONFIG_MTD_NAND_OMAP2) := gpmc-nand.o |
270 | obj-y += $(nand-m) $(nand-y) | |
271 | ||
cdd280b9 TN |
272 | smsc911x-$(CONFIG_SMSC911X) := gpmc-smsc911x.o |
273 | obj-y += $(smsc911x-m) $(smsc911x-y) | |
b7ee79ab | 274 | |
0191bf36 | 275 | obj-y += common-board-devices.o twl-common.o dss-common.o |