Reposting a report by peberlein in the launchpad hybrid-graphics-linux mailing list about the Asus EEEPC 1215N hybrid graphics. Instructions:
git clone http://github.com/peberlein/acpi_call.git
sudo insmod acpi_call.ko
I successfully powered down the Nvidia device in my Asus 1215N. I modified the apci_call module and created a script to power it off and on. Here is the github fork:
I owe a huge thanks to Mkottman for acpi_call and George Shearer for m11xr2hack. Those sources were excellent for learning about acpi and buffers.
I modified the acpi_call module to allow byte buffers to be passed as parameters, and also to return the acpi_object result in /proc/acpi/call. Being able to see the result helped me figure out some of the state in the acpi methods.
The 1215N is similar to the m11x r2 in that it requires a special method (_DSM) being called with buffer arguments before the _PS3 method will turn the power off. I also found that the _PS0 method turns the power back on. After turning off the power, the power state appears to be set in the _PSC object: 0x0 when on, and 0x3 when off. Except this isn't accurate after the system has been put in standby - the power is on (according to the battery rate) but the_PSC is still 0x3. I have to use the script to turn the power off again after coming out of standby.