Lm-sensors for bcm53xx

I'm not able to get lm-sensors to work. I can't seem to find an easy way to access the cpu's temperature.

No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.

No i2c device files found.

lsmod | grep i2c
i2c_algo_bit 12288 1 i2c_gpio
i2c_core 24576 3 i2c_gpio,i2c_algo_bit,i2c_dev
i2c_dev 12288 0
i2c_gpio 12288 0

There are no i2c devices under /dev/
i2cdetect -l returns nothing.

cat /sys/class/thermal/thermal_zone0/type

cat /sys/class/thermal/thermal_zone0/temp

So there is raw access to temperature. What's needed to make this work properly with lm-sensors ? Do I need some kernel module ?

This seems to be a related issue with similar symptoms that I found: https://github.com/lm-sensors/lm-sensors/issues/30

Based on the raspb thread, the gist seems to be "The thermal-hwmon bridge only works if THERMAL and HWMON are both configured to be built as module, or if both are configured to be built into the kernel. Based on the above, it appears that THERMAL is built into the kernel, and HWMON is built as module. With this configuration, the bridge does not work since code built into the kernel can not call functions declared in a module. On top of that, it is necessary to enable THERMAL_HWMON."

So I managed to get it to work after patching the kernel. I had to use a patch similar to https://patchwork.kernel.org/patch/10651647/ for the north star broadcom driver. I also added CONFIG_HWMON=y and CONFIG_THERMAL_HWMON=y to the kernel config. Not sure if the config changes were needed. I didn't test this with kernel modules. After these steps, the hwmon sys interface is created and lm-sensors is able to read it.