Module Name: src
Committed By: uwe
Date: Fri Apr 3 04:13:18 UTC 2009
Modified Files:
src/sys/arch/zaurus/dev: zapm.c
src/sys/dev/hpc: hpcapm.c
src/sys/dev/hpc/apm: apmdev.c apmvar.h
Log Message:
Switch apmdev to use apm(4) structures from dev/apm/apmvar.h.
Add batteryid argument to aa_get_powstat method implementations.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/zaurus/dev/zapm.c
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/hpc/hpcapm.c
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/hpc/apm/apmdev.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/hpc/apm/apmvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/zaurus/dev/zapm.c
diff -u src/sys/arch/zaurus/dev/zapm.c:1.5 src/sys/arch/zaurus/dev/zapm.c:1.6
--- src/sys/arch/zaurus/dev/zapm.c:1.5 Wed Mar 11 09:04:31 2009
+++ src/sys/arch/zaurus/dev/zapm.c Fri Apr 3 04:13:17 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: zapm.c,v 1.5 2009/03/11 09:04:31 nonaka Exp $ */
+/* $NetBSD: zapm.c,v 1.6 2009/04/03 04:13:17 uwe Exp $ */
/* $OpenBSD: zaurus_apm.c,v 1.13 2006/12/12 23:14:28 dim Exp $ */
/*
@@ -18,12 +18,13 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: zapm.c,v 1.5 2009/03/11 09:04:31 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zapm.c,v 1.6 2009/04/03 04:13:17 uwe Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/callout.h>
+#include <sys/selinfo.h> /* XXX: for apm_softc that is exposed here */
#include <dev/hpc/apm/apmvar.h>
@@ -86,7 +87,7 @@
static void zapm_disconnect(void *);
static void zapm_enable(void *, int);
static int zapm_set_powstate(void *, u_int, u_int);
-static int zapm_get_powstat(void *, struct apm_power_info *);
+static int zapm_get_powstat(void *, u_int, struct apm_power_info *);
static int zapm_get_event(void *, u_int *, u_int *);
static void zapm_cpu_busy(void *);
static void zapm_cpu_idle(void *);
@@ -389,7 +390,7 @@
}
static int
-zapm_get_powstat(void *v, struct apm_power_info *pinfo)
+zapm_get_powstat(void *v, u_int batteryid, struct apm_power_info *pinfo)
{
struct zapm_softc *sc = (struct zapm_softc *)v;
int val;
Index: src/sys/dev/hpc/hpcapm.c
diff -u src/sys/dev/hpc/hpcapm.c:1.14 src/sys/dev/hpc/hpcapm.c:1.15
--- src/sys/dev/hpc/hpcapm.c:1.14 Mon Mar 30 06:17:39 2009
+++ src/sys/dev/hpc/hpcapm.c Fri Apr 3 04:13:17 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: hpcapm.c,v 1.14 2009/03/30 06:17:39 uwe Exp $ */
+/* $NetBSD: hpcapm.c,v 1.15 2009/04/03 04:13:17 uwe Exp $ */
/*
* Copyright (c) 2000 Takemura Shin
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hpcapm.c,v 1.14 2009/03/30 06:17:39 uwe Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hpcapm.c,v 1.15 2009/04/03 04:13:17 uwe Exp $");
#ifdef _KERNEL_OPT
#include "opt_hpcapm.h"
@@ -39,6 +39,7 @@
#include <sys/device.h>
#include <sys/kernel.h>
#include <sys/systm.h>
+#include <sys/selinfo.h> /* XXX: for apm_softc that is exposed here */
#include <dev/hpc/apm/apmvar.h>
@@ -67,7 +68,7 @@
static void hpcapm_disconnect(void *);
static void hpcapm_enable(void *, int);
static int hpcapm_set_powstate(void *, u_int, u_int);
-static int hpcapm_get_powstat(void *, struct apm_power_info *);
+static int hpcapm_get_powstat(void *, u_int, struct apm_power_info *);
static int hpcapm_get_event(void *, u_int *, u_int *);
static void hpcapm_cpu_busy(void *);
static void hpcapm_cpu_idle(void *);
@@ -367,7 +368,7 @@
}
static int
-hpcapm_get_powstat(void *scx, struct apm_power_info *pinfo)
+hpcapm_get_powstat(void *scx, u_int batteryid, struct apm_power_info *pinfo)
{
struct apmhpc_softc *sc;
int val;
Index: src/sys/dev/hpc/apm/apmdev.c
diff -u src/sys/dev/hpc/apm/apmdev.c:1.21 src/sys/dev/hpc/apm/apmdev.c:1.22
--- src/sys/dev/hpc/apm/apmdev.c:1.21 Fri Apr 3 02:08:38 2009
+++ src/sys/dev/hpc/apm/apmdev.c Fri Apr 3 04:13:17 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: apmdev.c,v 1.21 2009/04/03 02:08:38 uwe Exp $ */
+/* $NetBSD: apmdev.c,v 1.22 2009/04/03 04:13:17 uwe Exp $ */
/*-
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: apmdev.c,v 1.21 2009/04/03 02:08:38 uwe Exp $");
+__KERNEL_RCSID(0, "$NetBSD: apmdev.c,v 1.22 2009/04/03 04:13:17 uwe Exp $");
#ifdef _KERNEL_OPT
#include "opt_apmdev.h"
@@ -80,24 +80,6 @@
#define DPRINTF(f, x) /**/
#endif /* APMDEBUG */
-#define APM_NEVENTS 16
-
-struct apm_softc {
- device_t sc_dev;
- struct selinfo sc_rsel;
- struct selinfo sc_xsel;
- int sc_flags;
- int sc_event_count;
- int sc_event_ptr;
- int sc_power_state;
- lwp_t *sc_thread;
- kmutex_t sc_lock;
- struct apm_event_info sc_event_list[APM_NEVENTS];
- struct apm_accessops *sc_ops;
- int sc_vers;
- int sc_detail;
- void *sc_cookie;
-};
#define SCFLAG_OREAD 0x0000001
#define SCFLAG_OWRITE 0x0000002
#define SCFLAG_OPEN (SCFLAG_OREAD|SCFLAG_OWRITE)
@@ -118,11 +100,6 @@
#define APM_UNLOCK(apmsc) \
(void) mutex_exit(&(apmsc)->sc_lock)
-/* in real dev/apm/apmvar.h */
-static int apm_match(void);
-static void apm_attach(struct apm_softc *);
-static const char *apm_strerror(int);
-
static void apmdevattach(device_t, device_t, void *);
static int apmdevmatch(device_t, cfdata_t, void *);
@@ -495,7 +472,7 @@
case APM_POWER_CHANGE:
DPRINTF(APMDEBUG_EVENTS, ("apmev: power status change\n"));
- error = (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, &pi);
+ error = (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, 0, &pi);
#ifdef APM_POWER_PRINT
/* only print if nobody is catching events. */
if (error == 0 &&
@@ -545,7 +522,7 @@
u_int numbatts, capflags;
(*sc->sc_ops->aa_get_capabilities)(sc->sc_cookie,
&numbatts, &capflags);
- (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, &pi);
+ (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, 0, &pi);
}
break;
@@ -718,7 +695,7 @@
*/
(*sc->sc_ops->aa_enable)(sc->sc_cookie, 1);
- error = (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, &pinfo);
+ error = (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, 0, &pinfo);
if (error == 0) {
#ifdef APM_POWER_PRINT
apm_power_print(sc, &pinfo);
@@ -895,7 +872,7 @@
case OAPM_IOC_GETPOWER:
case APM_IOC_GETPOWER:
powerp = (struct apm_power_info *)data;
- if ((error = (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie,
+ if ((error = (*sc->sc_ops->aa_get_powstat)(sc->sc_cookie, 0,
powerp)) != 0) {
apm_perror("ioctl get power status", error);
error = EIO;
Index: src/sys/dev/hpc/apm/apmvar.h
diff -u src/sys/dev/hpc/apm/apmvar.h:1.4 src/sys/dev/hpc/apm/apmvar.h:1.5
--- src/sys/dev/hpc/apm/apmvar.h:1.4 Mon Mar 30 06:22:25 2009
+++ src/sys/dev/hpc/apm/apmvar.h Fri Apr 3 04:13:17 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: apmvar.h,v 1.4 2009/03/30 06:22:25 uwe Exp $ */
+/* $NetBSD: apmvar.h,v 1.5 2009/04/03 04:13:17 uwe Exp $ */
/*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -30,19 +30,7 @@
#ifndef __DEV_APM_APMVAR_H__
#define __DEV_APM_APMVAR_H__
-#include <dev/apm/apmbios.h>
-#include <dev/apm/apmio.h>
-
-struct apm_accessops {
- void (*aa_disconnect)(void *);
- void (*aa_enable)(void *, int);
- int (*aa_set_powstate)(void *, u_int, u_int);
- int (*aa_get_powstat)(void *, struct apm_power_info *);
- int (*aa_get_event)(void *, u_int *, u_int *);
- void (*aa_cpu_busy)(void *);
- void (*aa_cpu_idle)(void *);
- void (*aa_get_capabilities)(void *, u_int *, u_int *);
-};
+#include <dev/apm/apmvar.h>
struct apmdev_attach_args {
struct apm_accessops *accessops;