summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-01-29 18:37:14 (UTC)
committer mickeyl <mickeyl>2005-01-29 18:37:14 (UTC)
commit3f25fb92b1dde002ea0c2a3aedffd3912054c380 (patch) (unidiff)
treebb3b92f37236e516952c44fc31c16815505dd8f4
parente6c61408933a3473f25f89d9ba58aceb0b2a2bee (diff)
downloadopie-3f25fb92b1dde002ea0c2a3aedffd3912054c380.zip
opie-3f25fb92b1dde002ea0c2a3aedffd3912054c380.tar.gz
opie-3f25fb92b1dde002ea0c2a3aedffd3912054c380.tar.bz2
use FB_BLANK_UNBLANK and FB_BLANK_POWERDOWN for the 2.6 interface
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice_zaurus.cpp2
-rw-r--r--libopie2/opiecore/device/odevice_zaurus.h6
2 files changed, 6 insertions, 2 deletions
diff --git a/libopie2/opiecore/device/odevice_zaurus.cpp b/libopie2/opiecore/device/odevice_zaurus.cpp
index 2128d46..59f1592 100644
--- a/libopie2/opiecore/device/odevice_zaurus.cpp
+++ b/libopie2/opiecore/device/odevice_zaurus.cpp
@@ -430,65 +430,65 @@ bool Zaurus::setDisplayBrightness( int bright )
430 { 430 {
431 int fd = ::open( "/sys/class/backlight/corgi-bl/brightness", O_WRONLY|O_NONBLOCK ); 431 int fd = ::open( "/sys/class/backlight/corgi-bl/brightness", O_WRONLY|O_NONBLOCK );
432 if ( fd ) 432 if ( fd )
433 { 433 {
434 char buf[100]; 434 char buf[100];
435 int len = ::snprintf( &buf[0], sizeof buf, "%d", val ); 435 int len = ::snprintf( &buf[0], sizeof buf, "%d", val );
436 res = ( ::write( fd, &buf[0], len ) == 0 ); 436 res = ( ::write( fd, &buf[0], len ) == 0 );
437 ::close( fd ); 437 ::close( fd );
438 } 438 }
439 } 439 }
440 return res; 440 return res;
441} 441}
442 442
443bool Zaurus::setDisplayStatus( bool on ) 443bool Zaurus::setDisplayStatus( bool on )
444{ 444{
445 bool res = false; 445 bool res = false;
446 if ( m_embedix ) 446 if ( m_embedix )
447 { 447 {
448 int fd = ::open( SHARP_FL_IOCTL_DEVICE, O_WRONLY|O_NONBLOCK ); 448 int fd = ::open( SHARP_FL_IOCTL_DEVICE, O_WRONLY|O_NONBLOCK );
449 if ( fd ) 449 if ( fd )
450 { 450 {
451 int ioctlnum = on ? SHARP_FL_IOCTL_ON : SHARP_FL_IOCTL_OFF; 451 int ioctlnum = on ? SHARP_FL_IOCTL_ON : SHARP_FL_IOCTL_OFF;
452 res = ( ::ioctl ( fd, ioctlnum, 0 ) == 0 ); 452 res = ( ::ioctl ( fd, ioctlnum, 0 ) == 0 );
453 ::close ( fd ); 453 ::close ( fd );
454 } 454 }
455 } 455 }
456 else 456 else
457 { 457 {
458 int fd = ::open( "/sys/class/backlight/corgi-bl/power", O_WRONLY|O_NONBLOCK ); 458 int fd = ::open( "/sys/class/backlight/corgi-bl/power", O_WRONLY|O_NONBLOCK );
459 if ( fd ) 459 if ( fd )
460 { 460 {
461 char buf[10]; 461 char buf[10];
462 buf[0] = on ? '1' : '0'; 462 buf[0] = on ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN;
463 buf[1] = '\0'; 463 buf[1] = '\0';
464 res = ( ::write( fd, &buf[0], 2 ) == 0 ); 464 res = ( ::write( fd, &buf[0], 2 ) == 0 );
465 ::close( fd ); 465 ::close( fd );
466 } 466 }
467 } 467 }
468 return res; 468 return res;
469} 469}
470 470
471bool Zaurus::suspend() 471bool Zaurus::suspend()
472{ 472{
473 qDebug("ODevice::suspend"); 473 qDebug("ODevice::suspend");
474 if ( !isQWS( ) ) // only qwsserver is allowed to suspend 474 if ( !isQWS( ) ) // only qwsserver is allowed to suspend
475 return false; 475 return false;
476 476
477 if ( d->m_model == Model_Unknown ) // better don't suspend in qvfb / on unkown devices 477 if ( d->m_model == Model_Unknown ) // better don't suspend in qvfb / on unkown devices
478 return false; 478 return false;
479 479
480 bool res = false; 480 bool res = false;
481 ODevice::sendSuspendmsg(); 481 ODevice::sendSuspendmsg();
482 482
483 struct timeval tvs, tvn; 483 struct timeval tvs, tvn;
484 ::gettimeofday ( &tvs, 0 ); 484 ::gettimeofday ( &tvs, 0 );
485 485
486 ::sync(); // flush fs caches 486 ::sync(); // flush fs caches
487 res = ( ::system ( "apm --suspend" ) == 0 ); 487 res = ( ::system ( "apm --suspend" ) == 0 );
488 488
489 // This is needed because the apm implementation is asynchronous and we 489 // This is needed because the apm implementation is asynchronous and we
490 // can not be sure when exactly the device is really suspended 490 // can not be sure when exactly the device is really suspended
491 if ( res ) { 491 if ( res ) {
492 do { // Yes, wait 15 seconds. This APM sucks big time. 492 do { // Yes, wait 15 seconds. This APM sucks big time.
493 ::usleep ( 200 * 1000 ); 493 ::usleep ( 200 * 1000 );
494 ::gettimeofday ( &tvn, 0 ); 494 ::gettimeofday ( &tvn, 0 );
diff --git a/libopie2/opiecore/device/odevice_zaurus.h b/libopie2/opiecore/device/odevice_zaurus.h
index 04e73c4..80593ce 100644
--- a/libopie2/opiecore/device/odevice_zaurus.h
+++ b/libopie2/opiecore/device/odevice_zaurus.h
@@ -46,72 +46,76 @@
46// Audio 46// Audio
47#define SHARP_DEV_IOCTL_COMMAND_START 0x5680 47#define SHARP_DEV_IOCTL_COMMAND_START 0x5680
48 48
49#define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) 49#define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
50#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) 50#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START)
51 51
52#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */ 52#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */
53#define SHARP_BUZ_KEYSOUND 2 /* key sound */ 53#define SHARP_BUZ_KEYSOUND 2 /* key sound */
54#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ 54#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */
55 55
56#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1) 56#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1)
57#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2) 57#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2)
58#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3) 58#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3)
59#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4) 59#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4)
60#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5) 60#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5)
61 61
62// LED 62// LED
63#define SHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) 63#define SHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
64#define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1) 64#define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1)
65#define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */ 65#define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */
66 66
67#define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */ 67#define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */
68#define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */ 68#define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */
69#define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */ 69#define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */
70 70
71// Rotation and Power Management 71// Rotation and Power Management
72#define SHARP_IOCTL_GET_ROTATION 0x413c 72#define SHARP_IOCTL_GET_ROTATION 0x413c
73 73
74#define APM_IOCGEVTSRC OD_IOR( 'A', 203, int ) 74#define APM_IOCGEVTSRC OD_IOR( 'A', 203, int )
75#define APM_IOCSEVTSRC OD_IORW( 'A', 204, int ) 75#define APM_IOCSEVTSRC OD_IORW( 'A', 204, int )
76#define APM_EVT_POWER_BUTTON (1 << 0) 76#define APM_EVT_POWER_BUTTON (1 << 0)
77 77
78// Brightness 78// Brightness Embedix
79#define SHARP_FL_IOCTL_DEVICE "/dev/sharp_fl" 79#define SHARP_FL_IOCTL_DEVICE "/dev/sharp_fl"
80#define SHARP_FL_IOCTL_ON 1 80#define SHARP_FL_IOCTL_ON 1
81#define SHARP_FL_IOCTL_OFF 2 81#define SHARP_FL_IOCTL_OFF 2
82#define SHARP_FL_IOCTL_STEP_CONTRAST 100 82#define SHARP_FL_IOCTL_STEP_CONTRAST 100
83#define SHARP_FL_IOCTL_GET_STEP_CONTRAST 101 83#define SHARP_FL_IOCTL_GET_STEP_CONTRAST 101
84#define SHARP_FL_IOCTL_GET_STEP 102 84#define SHARP_FL_IOCTL_GET_STEP 102
85 85
86// Vesa Standard
87 #define FB_BLANK_UNBLANK 0
88 #define FB_BLANK_POWERDOWN 4
89
86namespace Opie { 90namespace Opie {
87namespace Core { 91namespace Core {
88namespace Internal { 92namespace Internal {
89 93
90class Zaurus : public ODevice 94class Zaurus : public ODevice
91{ 95{
92 protected: 96 protected:
93 virtual void init(const QString&); 97 virtual void init(const QString&);
94 virtual void initButtons(); 98 virtual void initButtons();
95 99
96 public: 100 public:
97 virtual bool setDisplayBrightness( int b ); 101 virtual bool setDisplayBrightness( int b );
98 virtual bool setDisplayStatus( bool on ); 102 virtual bool setDisplayStatus( bool on );
99 virtual int displayBrightnessResolution() const; 103 virtual int displayBrightnessResolution() const;
100 104
101 virtual void playAlarmSound(); 105 virtual void playAlarmSound();
102 virtual void playKeySound(); 106 virtual void playKeySound();
103 virtual void playTouchSound(); 107 virtual void playTouchSound();
104 108
105 virtual QValueList <OLed> ledList() const; 109 virtual QValueList <OLed> ledList() const;
106 virtual QValueList <OLedState> ledStateList ( OLed led ) const; 110 virtual QValueList <OLedState> ledStateList ( OLed led ) const;
107 virtual OLedState ledState( OLed led ) const; 111 virtual OLedState ledState( OLed led ) const;
108 virtual bool setLedState( OLed led, OLedState st ); 112 virtual bool setLedState( OLed led, OLedState st );
109 113
110 virtual bool hasHingeSensor() const; 114 virtual bool hasHingeSensor() const;
111 virtual OHingeStatus readHingeSensor() const; 115 virtual OHingeStatus readHingeSensor() const;
112 116
113 virtual bool suspend(); 117 virtual bool suspend();
114 virtual Transformation rotation() const; 118 virtual Transformation rotation() const;
115 virtual ODirection direction() const; 119 virtual ODirection direction() const;
116 120
117 protected: 121 protected: