页次: 1
各位大神好, 我刚刚接触 Linux 编程,我现在尝试在一个内核文件中使用 bcm2875_thermal.c (一个树莓派的芯片驱动来获得芯片温度, 驱动连接https://github.com/raspberrypi/linux/bl … _thermal.c ),下面是我想调用的函数, 但我不太懂怎么传这个参数, 第二个temp明白就是读取的温度, 但不太懂第一个 void *d 参数是什么, 请问我应该如果定义这个参数? 先谢谢大家啦
static int bcm2835_thermal_get_temp(void *d, int *temp)
{
struct bcm2835_thermal_data *data = d;
u32 val = readl(data->regs + BCM2835_TS_TSENSSTAT);
if (!(val & BCM2835_TS_TSENSSTAT_VALID))
return -EIO;
val &= BCM2835_TS_TSENSSTAT_DATA_MASK;
*temp = bcm2835_thermal_adc2temp(
val,
thermal_zone_get_offset(data->tz),
thermal_zone_get_slope(data->tz));
return 0;
}
离线
struct bcm2835_thermal_data *data = d;
这行告诉你类型了
ecmascript是世界上最好的语言
离线
void *是无类型指针,用之前得转成别的指针,一般用于通用接口传递参数
离线
页次: 1