View | Details | Raw Unified | Return to bug 128639
Collapse All | Expand All

(-)acpi_asus.c (-7 / +59 lines)
Lines 146-161 Link Here
146
		.disp_set	= "SDSP"
146
		.disp_set	= "SDSP"
147
	},
147
	},
148
	{
148
	{
149
		.name           = "A3E",
150
		.mled_set       = "MLED",
151
		.wled_set       = "WLED",
152
		.lcd_get        = "\\_SB.PCI0.SBRG.EC0.RPIN(0x67)",
153
		.lcd_set        = "\\_SB.PCI0.SBRG.EC0._Q10",
154
		.brn_get        = "GPLV",
155
		.brn_set        = "SPLV",
156
		.disp_get       = "\\_SB.PCI0.P0P2.VGA.GETD",
157
		.disp_set       = "SDSP"
158
	},
159
	{
160
		.name           = "A3F",
161
		.mled_set       = "MLED",
162
		.wled_set       = "WLED",
163
		.bled_set       = "BLED",
164
		.lcd_get        = "\\_SB.PCI0.SBRG.EC0.RPIN(0x11)",
165
		.lcd_set        = "\\_SB.PCI0.SBRG.EC0._Q10",
166
		.brn_get        = "GPLV",
167
		.brn_set        = "SPLV",
168
		.disp_get       = "\\SSTE",
169
		.disp_set       = "SDSP"
170
	},
171
	{
149
		.name           = "A3N",
172
		.name           = "A3N",
150
		.mled_set       = "MLED",
173
		.mled_set       = "MLED",
151
		.bled_set       = "BLED",
174
		.bled_set       = "BLED",
152
		.wled_set       = "WLED",
175
		.wled_set       = "WLED",
153
		.lcd_get        = NULL,
176
		.lcd_get        = "\\BKLT",
154
		.lcd_set        = "\\_SB.PCI0.SBRG.EC0._Q10",
177
		.lcd_set        = "\\_SB.PCI0.SBRG.EC0._Q10",
178
		.brn_get        = "GPLV",
155
		.brn_set        = "SPLV",
179
		.brn_set        = "SPLV",
156
		.brn_get        = "SDSP",
180
		.disp_get       = "\\_SB.PCI0.P0P3.VGA.GETD",
157
		.disp_set       = "SDSP",
181
		.disp_set       = "SDSP"
158
		.disp_get       = "\\_SB.PCI0.P0P3.VGA.GETD"
159
	},
182
	},
160
	{
183
	{
161
		.name		= "A4D",
184
		.name		= "A4D",
Lines 354-359 Link Here
354
	{ .name = NULL }
377
	{ .name = NULL }
355
};
378
};
356
379
380
/*
381
 * EeePC have an Asus ASUS010 gadget interface,
382
 * but they can't be probed quite the same way as Asus laptops.
383
 */
384
static struct acpi_asus_model acpi_eeepc_models[] = {
385
	{
386
		.name		= "EEE",
387
		.brn_get	= "\\_SB.ATKD.PBLG",
388
		.brn_set	= "\\_SB.ATKD.PBLS"
389
	},
390
391
	{ .name = NULL }
392
};
393
357
static struct {
394
static struct {
358
	char	*name;
395
	char	*name;
359
	char	*description;
396
	char	*description;
Lines 423-435 Link Here
423
	ACPI_BUFFER		Buf;
460
	ACPI_BUFFER		Buf;
424
	ACPI_OBJECT		Arg, *Obj;
461
	ACPI_OBJECT		Arg, *Obj;
425
	ACPI_OBJECT_LIST	Args;
462
	ACPI_OBJECT_LIST	Args;
426
	static char		*asus_ids[] = { "ATK0100", NULL };
463
	static char		*asus_ids[] = { "ATK0100", "ASUS010", NULL };
464
	char *rstr;
427
465
428
	ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
466
	ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
429
467
430
	if (acpi_disabled("asus") ||
468
	if (acpi_disabled("asus"))
431
	    ACPI_ID_PROBE(device_get_parent(dev), dev, asus_ids) == NULL)
432
		return (ENXIO);
469
		return (ENXIO);
470
	rstr = ACPI_ID_PROBE(device_get_parent(dev), dev, asus_ids);
471
	if (rstr == NULL) {
472
		return (ENXIO);
473
	}
433
474
434
	sc = device_get_softc(dev);
475
	sc = device_get_softc(dev);
435
	sc->dev = dev;
476
	sc->dev = dev;
Lines 468-473 Link Here
468
			AcpiOsFree(Buf.Pointer);
509
			AcpiOsFree(Buf.Pointer);
469
			return (0);
510
			return (0);
470
		}
511
		}
512
513
		/* if EeePC */
514
		if(strncmp("ASUS010", rstr, 7) == 0) {
515
			sc->model = &acpi_eeepc_models[0];
516
			device_set_desc(dev, "ASUS EeePC");
517
			AcpiOsFree(Buf.Pointer);
518
			return (0);
519
		}
471
	}
520
	}
472
521
473
	sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
522
	sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
Lines 511-516 Link Here
511
		else if (strncmp(model->name, "A2x", 3) == 0 &&
560
		else if (strncmp(model->name, "A2x", 3) == 0 &&
512
		    strncmp(Obj->String.Pointer, "A2", 2) == 0)
561
		    strncmp(Obj->String.Pointer, "A2", 2) == 0)
513
			goto good;
562
			goto good;
563
		else if (strncmp(model->name, "A3F", 3) == 0 &&
564
		    strncmp(Obj->String.Pointer, "A6F", 3) == 0)
565
			goto good;
514
		else if (strncmp(model->name, "D1x", 3) == 0 &&
566
		else if (strncmp(model->name, "D1x", 3) == 0 &&
515
		    strncmp(Obj->String.Pointer, "D1", 2) == 0)
567
		    strncmp(Obj->String.Pointer, "D1", 2) == 0)
516
			goto good;
568
			goto good;

Return to bug 128639