1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 2009 Lemote Inc.
4 * Author: Wu Zhangjin, wuzhangjin@gmail.com
5 * Xiang Yu, xiangy@lemote.com
6 * Chen Huacai, chenhc@lemote.com
10 #include <linux/slab.h>
11 #include <linux/platform_device.h>
12 #include <asm/bootinfo.h>
13 #include <boot_param.h>
14 #include <loongson_hwmon.h>
15 #include <workarounds.h>
17 static int __init
loongson3_platform_init(void)
20 struct platform_device
*pdev
;
22 if (loongson_sysconf
.ecname
[0] != '\0')
23 platform_device_register_simple(loongson_sysconf
.ecname
, -1, NULL
, 0);
25 for (i
= 0; i
< loongson_sysconf
.nr_sensors
; i
++) {
26 if (loongson_sysconf
.sensors
[i
].type
> SENSOR_FAN
)
29 pdev
= kzalloc(sizeof(struct platform_device
), GFP_KERNEL
);
33 pdev
->name
= loongson_sysconf
.sensors
[i
].name
;
34 pdev
->id
= loongson_sysconf
.sensors
[i
].id
;
35 pdev
->dev
.platform_data
= &loongson_sysconf
.sensors
[i
];
36 platform_device_register(pdev
);
42 arch_initcall(loongson3_platform_init
);