forked from len0rd/rockbox
Finer grained irq masking, blocking for i2c, plus a mutex to prevent conflicting read/writes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8922 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
03b8708f9e
commit
bb2f15ca7d
4 changed files with 57 additions and 67 deletions
|
@ -36,28 +36,18 @@ void rtc_init(void)
|
|||
}
|
||||
int rtc_read_datetime(unsigned char* buf)
|
||||
{
|
||||
int rc;
|
||||
int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL);
|
||||
|
||||
rc = pcf50605_read_multiple(0x0a, buf, 7);
|
||||
|
||||
set_irq_level(old_irq_level);
|
||||
|
||||
return rc;
|
||||
return pcf50605_read_multiple(0x0a, buf, 7);
|
||||
}
|
||||
|
||||
|
||||
int rtc_write_datetime(unsigned char* buf)
|
||||
{
|
||||
int i;
|
||||
int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL);
|
||||
|
||||
for (i=0;i<7;i++) {
|
||||
pcf50605_write(0x0a+i, buf[i]);
|
||||
}
|
||||
|
||||
set_irq_level(old_irq_level);
|
||||
|
||||
return 1;
|
||||
}
|
||||
#elif CONFIG_RTC == RTC_PCF50606
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue