Date: Sat, 7 Nov 2009 11:46:38 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r199016 - head/sys/dev/acpica Message-ID: <200911071146.nA7BkcJn046957@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avg Date: Sat Nov 7 11:46:38 2009 New Revision: 199016 URL: http://svn.freebsd.org/changeset/base/199016 Log: acpi: remove 'magic' ivar o acpi_hpet: auto-added 'wildcard' devices can be identified by non-NULL handle attribute. o acpi_ec: auto-add 'wildcard' devices can be identified by unset (NULL) private attribute. o acpi_cpu: use private instead of magic to store cpu id. Reviewed by: jhb Silence from: acpi@ MFC after: 2 weeks X-MFC-Note: perhaps the ivar should stay for ABI stability Modified: head/sys/dev/acpica/acpi.c head/sys/dev/acpica/acpi_cpu.c head/sys/dev/acpica/acpi_ec.c head/sys/dev/acpica/acpi_hpet.c head/sys/dev/acpica/acpivar.h Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Sat Nov 7 11:41:23 2009 (r199015) +++ head/sys/dev/acpica/acpi.c Sat Nov 7 11:46:38 2009 (r199016) @@ -900,9 +900,6 @@ acpi_read_ivar(device_t dev, device_t ch case ACPI_IVAR_HANDLE: *(ACPI_HANDLE *)result = ad->ad_handle; break; - case ACPI_IVAR_MAGIC: - *(uintptr_t *)result = ad->ad_magic; - break; case ACPI_IVAR_PRIVATE: *(void **)result = ad->ad_private; break; @@ -938,9 +935,6 @@ acpi_write_ivar(device_t dev, device_t c case ACPI_IVAR_HANDLE: ad->ad_handle = (ACPI_HANDLE)value; break; - case ACPI_IVAR_MAGIC: - ad->ad_magic = (uintptr_t)value; - break; case ACPI_IVAR_PRIVATE: ad->ad_private = (void *)value; break; Modified: head/sys/dev/acpica/acpi_cpu.c ============================================================================== --- head/sys/dev/acpica/acpi_cpu.c Sat Nov 7 11:41:23 2009 (r199015) +++ head/sys/dev/acpica/acpi_cpu.c Sat Nov 7 11:46:38 2009 (r199016) @@ -255,7 +255,7 @@ acpi_cpu_probe(device_t dev) /* Mark this processor as in-use and save our derived id for attach. */ cpu_softc[cpu_id] = (void *)1; - acpi_set_magic(dev, cpu_id); + acpi_set_private(dev, (void*)(intptr_t)cpu_id); device_set_desc(dev, "ACPI CPU"); return (0); @@ -286,7 +286,7 @@ acpi_cpu_attach(device_t dev) sc = device_get_softc(dev); sc->cpu_dev = dev; sc->cpu_handle = acpi_get_handle(dev); - cpu_id = acpi_get_magic(dev); + cpu_id = (int)(intptr_t)acpi_get_private(dev); cpu_softc[cpu_id] = sc; pcpu_data = pcpu_find(cpu_id); pcpu_data->pc_device = dev; Modified: head/sys/dev/acpica/acpi_ec.c ============================================================================== --- head/sys/dev/acpica/acpi_ec.c Sat Nov 7 11:41:23 2009 (r199015) +++ head/sys/dev/acpica/acpi_ec.c Sat Nov 7 11:46:38 2009 (r199016) @@ -129,9 +129,6 @@ struct acpi_ec_params { int uid; }; -/* Indicate that this device has already been probed via ECDT. */ -#define DEV_ECDT(x) (acpi_get_magic(x) == (uintptr_t)&acpi_ec_devclass) - /* * Driver softc. */ @@ -332,7 +329,6 @@ acpi_ec_ecdt_probe(device_t parent) params->uid = ecdt->Uid; acpi_GetInteger(h, "_GLK", ¶ms->glk); acpi_set_private(child, params); - acpi_set_magic(child, (uintptr_t)&acpi_ec_devclass); /* Finish the attach process. */ if (device_probe_and_attach(child) != 0) @@ -348,6 +344,7 @@ acpi_ec_probe(device_t dev) ACPI_STATUS status; device_t peer; char desc[64]; + int ecdt; int ret; struct acpi_ec_params *params; static char *ec_ids[] = { "PNP0C09", NULL }; @@ -362,11 +359,12 @@ acpi_ec_probe(device_t dev) * duplicate probe. */ ret = ENXIO; - params = NULL; + ecdt = 0; buf.Pointer = NULL; buf.Length = ACPI_ALLOCATE_BUFFER; - if (DEV_ECDT(dev)) { - params = acpi_get_private(dev); + params = acpi_get_private(dev); + if (params != NULL) { + ecdt = 1; ret = 0; } else if (!acpi_disabled("ec") && ACPI_ID_PROBE(device_get_parent(dev), dev, ec_ids)) { @@ -439,7 +437,7 @@ out: if (ret == 0) { snprintf(desc, sizeof(desc), "Embedded Controller: GPE %#x%s%s", params->gpe_bit, (params->glk) ? ", GLK" : "", - DEV_ECDT(dev) ? ", ECDT" : ""); + ecdt ? ", ECDT" : ""); device_set_desc_copy(dev, desc); } Modified: head/sys/dev/acpica/acpi_hpet.c ============================================================================== --- head/sys/dev/acpica/acpi_hpet.c Sat Nov 7 11:41:23 2009 (r199015) +++ head/sys/dev/acpica/acpi_hpet.c Sat Nov 7 11:46:38 2009 (r199016) @@ -61,8 +61,6 @@ static void acpi_hpet_test(struct acpi_h static char *hpet_ids[] = { "PNP0103", NULL }; -#define DEV_HPET(x) (acpi_get_magic(x) == (uintptr_t)&acpi_hpet_devclass) - struct timecounter hpet_timecounter = { .tc_get_timecount = hpet_get_timecount, .tc_counter_mask = ~0u, @@ -133,8 +131,6 @@ acpi_hpet_identify(driver_t *driver, dev return; } - /* Record a magic value so we can detect this device later. */ - acpi_set_magic(child, (uintptr_t)&acpi_hpet_devclass); bus_set_resource(child, SYS_RES_MEMORY, 0, hpet->Address.Address, HPET_MEM_WIDTH); } @@ -146,7 +142,7 @@ acpi_hpet_probe(device_t dev) if (acpi_disabled("hpet")) return (ENXIO); - if (!DEV_HPET(dev) && + if (acpi_get_handle(dev) != NULL && (ACPI_ID_PROBE(device_get_parent(dev), dev, hpet_ids) == NULL || device_get_unit(dev) != 0)) return (ENXIO); Modified: head/sys/dev/acpica/acpivar.h ============================================================================== --- head/sys/dev/acpica/acpivar.h Sat Nov 7 11:41:23 2009 (r199015) +++ head/sys/dev/acpica/acpivar.h Sat Nov 7 11:46:38 2009 (r199016) @@ -88,7 +88,6 @@ struct acpi_softc { struct acpi_device { /* ACPI ivars */ ACPI_HANDLE ad_handle; - uintptr_t ad_magic; void *ad_private; int ad_flags; @@ -224,7 +223,7 @@ extern int acpi_quirks; * attach to ACPI. */ #define ACPI_IVAR_HANDLE 0x100 -#define ACPI_IVAR_MAGIC 0x101 +#define ACPI_IVAR_UNUSED 0x101 /* Unused/reserved. */ #define ACPI_IVAR_PRIVATE 0x102 #define ACPI_IVAR_FLAGS 0x103 @@ -250,7 +249,6 @@ static __inline void varp ## _set_ ## va } __ACPI_BUS_ACCESSOR(acpi, handle, ACPI, HANDLE, ACPI_HANDLE) -__ACPI_BUS_ACCESSOR(acpi, magic, ACPI, MAGIC, uintptr_t) __ACPI_BUS_ACCESSOR(acpi, private, ACPI, PRIVATE, void *) __ACPI_BUS_ACCESSOR(acpi, flags, ACPI, FLAGS, int)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911071146.nA7BkcJn046957>