seq_printf(m, "Thermostat: HI %i.%i, LOW %i.%i; temperature: %i.%i C, fan %s\n",
#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/capability.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <linux/uaccess.h>
#define THERM_START_CONVERT 0xee
#define THERM_READ_CONFIG 0xac
#define THERM_READ_TEMP 0xaa
#define THERM_READ_TL 0xa2
#define THERM_READ_TH 0xa1
#define THERM_WRITE_CONFIG 0x0c
#define THERM_WRITE_TL 0x02
#define THERM_WRITE_TH 0x01
static DEFINE_MUTEX(ds1620_mutex);
static const char *fan_state[] = { "off", "on", "on (hardwired)" };
extern unsigned int system_rev;
static inline void netwinder_ds1620_set_clk(int clk)
nw_gpio_modify_op(GPIO_DSCLK, clk ? GPIO_DSCLK : 0);
static inline void netwinder_ds1620_set_data(int dat)
nw_gpio_modify_op(GPIO_DATA, dat ? GPIO_DATA : 0);
static inline int netwinder_ds1620_get_data(void)
return nw_gpio_read() & GPIO_DATA;