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( CheckIncludeFile )
include( CheckIncludeFiles )
include( CheckLibraryExists )
include( CheckSymbolExists )
include( CheckFunctionExists )

@ -80,6 +80,10 @@ if( BUILD_KLAPTOPDAEMON )
tde_message_fatal( "stdint.h header is required, but was not found on your system" )
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
pkg_search_module( XTEST xtst )
if( XTEST_FOUND )

@ -60,6 +60,12 @@
#if !defined( HAVE_STDINT_H )
#cmakedefine 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_DPMS

@ -39,7 +39,7 @@
//
// Linux (#if __linux__)
// FreeBSD (#elif __FreeBSD__)
// NetBSD (#elif __NetBSD_APM__)
// NetBSD (#elif __NetBSD__)
// 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 <fcntl.h>
@ -2437,11 +2437,16 @@ laptop_portable::software_suspend_set_mask(bool /*hibernate*/)
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <machine/apmvar.h>
#include <iostream.h>
#include <dev/apm/apmbios.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
// Fri Jun 29 17:21:25 PDT 2001
// Tested on Dell I4K running NetBSD 1.5R
@ -2463,6 +2468,7 @@ laptop_portable::has_power_management()
}
struct apm_power_info info;
memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd);
@ -2490,6 +2496,7 @@ int laptop_portable::has_battery_time()
return 0;
struct apm_power_info info;
memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::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
//
@ -2674,6 +2690,7 @@ struct power_result laptop_portable::poll_battery_state()
goto bad;
struct apm_power_info info;
memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd);
@ -2736,7 +2753,16 @@ laptop_portable::get_brightness()
}
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
current = 0;
@ -2794,6 +2820,18 @@ laptop_portable::get_battery_status(int &num_batteries, TQStringList &names, TQS
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
/*

Loading…
Cancel
Save