1 diff -Naurp include/avr/power.h include/avr/power.h
2 --- include/avr/power.h 2011-12-29 14:21:50.000000000 +0530
3 +++ include/avr/power.h 2012-02-06 11:09:16.000000000 +0530
4 @@ -1393,10 +1393,6 @@ do{ \
5 || defined(__AVR_ATmega3290__) \
6 || defined(__AVR_ATmega3290A__) \
7 || defined(__AVR_ATmega32C1__) \
8 -|| defined(__AVR_ATmega32HVB__) \
9 -|| defined(__AVR_ATmega32HVBREVB__) \
10 -|| defined(__AVR_ATmega16HVB__) \
11 -|| defined(__AVR_ATmega16HVBREVB__) \
12 || defined(__AVR_ATmega32M1__) \
13 || defined(__AVR_ATmega32U2__) \
14 || defined(__AVR_ATmega32U4__) \
15 @@ -1512,6 +1508,38 @@ Gets and returns the clock prescaler reg
17 #define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)|(1<<CLKPS2)|(1<<CLKPS3)))
19 +#elif defined(__AVR_ATmega16HVB__) \
20 +|| defined(__AVR_ATmega16HVBREVB__) \
21 +|| defined(__AVR_ATmega32HVB__) \
22 +|| defined(__AVR_ATmega32HVBREVB__)
32 +static __inline__ void clock_prescale_set(clock_div_t) __attribute__((__always_inline__));
34 +void clock_prescale_set(clock_div_t __x)
36 + uint8_t __tmp = _BV(CLKPCE);
37 + __asm__ __volatile__ (
38 + "in __tmp_reg__,__SREG__" "\n\t"
42 + "out __SREG__, __tmp_reg__"
45 + "M" (_SFR_MEM_ADDR(CLKPR)),
50 +#define clock_prescale_get() (clock_div_t)(CLKPR & (uint8_t)((1<<CLKPS0)|(1<<CLKPS1)))
52 #elif defined(__AVR_ATtiny24__) \
53 || defined(__AVR_ATtiny24A__) \