Fix NetBSD APM support

NetBSD APM is supported other than i386 too, emulate API,
so change to detect with MI support header.
Additionally, catch up support codes to others.

Signed-off-by: OBATA Akio <obache@wizdas.com>
pull/9/head
OBATA Akio 5 years ago
parent da2fceb03b
commit f8424834b6

@ -24,6 +24,7 @@ set( VERSION R14.1.0 )
include( FindPkgConfig ) include( FindPkgConfig )
include( CheckIncludeFile ) include( CheckIncludeFile )
include( CheckIncludeFiles )
include( CheckLibraryExists ) include( CheckLibraryExists )
include( CheckSymbolExists ) include( CheckSymbolExists )
include( CheckFunctionExists ) include( CheckFunctionExists )

@ -80,6 +80,10 @@ if( BUILD_KLAPTOPDAEMON )
tde_message_fatal( "stdint.h header is required, but was not found on your system" ) tde_message_fatal( "stdint.h header is required, but was not found on your system" )
endif( NOT HAVE_STDINT_H ) endif( NOT HAVE_STDINT_H )
# NetBSD apm support
check_include_files( "unistd.h;machine/apm_bios.h" HAVE_MACHINE_APM_BIOS_H )
check_include_files( "unistd.h;dev/apm/apmio.h" HAVE_DEV_APM_APMIO_H )
# xtest # xtest
pkg_search_module( XTEST xtst ) pkg_search_module( XTEST xtst )
if( XTEST_FOUND ) if( XTEST_FOUND )

@ -60,6 +60,12 @@
#if !defined( HAVE_STDINT_H ) #if !defined( HAVE_STDINT_H )
#cmakedefine HAVE_STDINT_H #cmakedefine HAVE_STDINT_H
#endif // HAVE_STDINT_H #endif // HAVE_STDINT_H
#if !defined( HAVE_MACHINE_APM_BIOS_H )
#cmakedefine HAVE_MACHINE_APM_BIOS_H
#endif // HAVE_MACHIE_APM_BIOS_H
#if !defined( HAVE_DEV_APM_APMIO_H )
#cmakedefine HAVE_DEV_APM_APMIO_H
#endif // HAVE_DEV_APM_APMIO_H
#cmakedefine HAVE_XSCREENSAVER #cmakedefine HAVE_XSCREENSAVER
#cmakedefine HAVE_DPMS #cmakedefine HAVE_DPMS

@ -39,7 +39,7 @@
// //
// Linux (#if __linux__) // Linux (#if __linux__)
// FreeBSD (#elif __FreeBSD__) // FreeBSD (#elif __FreeBSD__)
// NetBSD (#elif __NetBSD_APM__) // NetBSD (#elif __NetBSD__)
// generic nothing (#else) // generic nothing (#else)
// //
// //
@ -2429,7 +2429,7 @@ laptop_portable::software_suspend_set_mask(bool /*hibernate*/)
} }
#elif defined(__NetBSD_APM__) #elif defined(__NetBSD__) && defined(HAVE_DEV_APM_APMIO_H)
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
@ -2437,11 +2437,16 @@ laptop_portable::software_suspend_set_mask(bool /*hibernate*/)
#include <stdlib.h> #include <stdlib.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <machine/apmvar.h> #include <dev/apm/apmbios.h>
#include <iostream.h> #include <dev/apm/apmio.h>
#include <iostream>
#include <tqpushbutton.h>
#include <tqobject.h>
#include <kactivelabel.h>
#include <kprocess.h>
// //
// klaptopdeamon interface to NetBSD 1.5 apm. // Klaptopdeamon interface to NetBSD 1.5 apm.
// Scott Presnell, srp@zgi.com, srp@tworoads.net // Scott Presnell, srp@zgi.com, srp@tworoads.net
// Fri Jun 29 17:21:25 PDT 2001 // Fri Jun 29 17:21:25 PDT 2001
// Tested on Dell I4K running NetBSD 1.5R // Tested on Dell I4K running NetBSD 1.5R
@ -2463,6 +2468,7 @@ laptop_portable::has_power_management()
} }
struct apm_power_info info; struct apm_power_info info;
memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info); ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd); ::close(fd);
@ -2490,6 +2496,7 @@ int laptop_portable::has_battery_time()
return 0; return 0;
struct apm_power_info info; struct apm_power_info info;
memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info); ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd); ::close(fd);
@ -2660,6 +2667,15 @@ laptop_portable::apm_set_mask(bool , bool )
} }
//
// adds extra widgets to the battery panel
//
void
laptop_portable::extra_config(TQWidget *parent, TDEConfig *config, TQVBoxLayout *layout)
{
}
// //
// return current battery state // return current battery state
// //
@ -2674,6 +2690,7 @@ struct power_result laptop_portable::poll_battery_state()
goto bad; goto bad;
struct apm_power_info info; struct apm_power_info info;
memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info); ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd); ::close(fd);
@ -2736,7 +2753,16 @@ laptop_portable::get_brightness()
} }
bool bool
laptop_portable::get_system_throttling(bool, int &current, TQStringList &s) // do something to help get system throttling data from places like ACPI laptop_portable::get_system_performance(bool, int &current, TQStringList &s, bool *&) // do something to help get system profiles from places like ACPI
{
// INSERT HERE
current = 0;
s.clear();
return(0); // if no profiles are available
}
bool
laptop_portable::get_system_throttling(bool, int &current, TQStringList &s, bool *&) // do something to help get system throttling data from places like ACPI
{ {
// INSERT HERE // INSERT HERE
current = 0; current = 0;
@ -2794,6 +2820,18 @@ laptop_portable::get_battery_status(int &num_batteries, TQStringList &names, TQS
values.append(s); values.append(s);
} }
bool
laptop_portable::has_software_suspend(int /*type*/)
{
return false; // (::has_software_suspend(type));
}
void
laptop_portable::software_suspend_set_mask(bool hibernate)
{
// software_suspend_is_preferred =hibernate;
}
#else #else
/* /*

Loading…
Cancel
Save