Hi!
On 09/05/2013 02:03 PM, [email protected] wrote:
> Hi!
>> +int LTPMAJOR;
>> // define the ioctl cmds
>> #define LTPDEV_CMD _IOR( LTPMAJOR, LTP_IOCTL_NUMBER, ltpdev_cmd_t **)
>> -
>> diff --git a/testcases/kernel/device-drivers/acpi/LtpAcpiCmds.c
>> b/testcases/kernel/device-drivers/acpi/LtpAcpiCmds.c
>> index 26fcc15..1e85242 100644
>> --- a/testcases/kernel/device-drivers/acpi/LtpAcpiCmds.c
>> +++ b/testcases/kernel/device-drivers/acpi/LtpAcpiCmds.c
>> @@ -28,6 +28,8 @@
>> * 01/03/2009 Márton Németh<[email protected]>
>> * - Updated for Linux kernel 2.6.28
>> *
>> + * 09/2013 Alexey Kodanev<[email protected]>
>> + * - Updated for Linux kernel 2.6.37
>> */
> Linux-2.6.37 is quite old, does it compile with Linux-3.10?
>
> Ideally it should work with broad range of kernels but that would likely
> require great number of ifdefs...
>
>
It works fine with 3.10..., 2.6.37 version is just starting point of the
range of kernels where it compiles.
>> diff --git a/testcases/kernel/device-drivers/acpi/LtpAcpiMain.c
>> b/testcases/kernel/device-drivers/acpi/LtpAcpiMain.c
>> index c3e9c91..ed90784 100644
>> --- a/testcases/kernel/device-drivers/acpi/LtpAcpiMain.c
>> +++ b/testcases/kernel/device-drivers/acpi/LtpAcpiMain.c
>> @@ -42,6 +42,10 @@
>>
>> #include "LtpAcpi.h"
>>
>> +#include "test.h"
>> +
>> +char *TCID = "LTP_ACPI";
>> +
>> int LTP_acpi_open_block_device(void);
>>
>> int ltp_block_dev_handle = 0; /* handle to LTP Test block device */
>> @@ -66,7 +70,6 @@ int main(int argc, char **argv)
>> LTP_ACPI_DEVICE_NAME, ltp_block_dev_handle, errno);
>> } else {
>> rc = ioctl(ltp_block_dev_handle, LTPDEV_CMD,&cmd);
>> -
>> printf("return from ioctl %d \n", rc);
>> }
>>
>> @@ -81,7 +84,7 @@ int LTP_acpi_open_block_device()
>> {
>> dev_t devt;
>> struct stat statbuf;
>> - int rc;
>> + int rc = -1;
>>
>> if (ltp_block_dev_handle == 0) {
>>
>> @@ -90,6 +93,11 @@ int LTP_acpi_open_block_device()
>> * If devfs is running and mounted on /dev, these checks will
>> all pass,
>> * so a new node will not be created.
>> */
>> +
>> + SAFE_FILE_SCANF(NULL, "/sys/devices/virtual/block/"
>> + LTP_ACPI_DEV_NAME"/dev",
>> + "%d:0",<PMAJOR);
>> +
>> devt = makedev(LTPMAJOR, 0);
>>
>> rc = stat(LTP_ACPI_DEV_NODE_PATH,&statbuf);
> It would be better to convert this code to full LTP test so we can drop
> the ltpapci.sh script.
>
> Also there doesn't seem to be any success/failure logic. It looks like
> the program just opens the device and does some ioctls(). Do you have an
> idea what is the purpose of this test?
>
I have only one intention of this patch - at least, make it compile and
run on the latest kernels, but subsequent patches can do the rest, e.g.
we can drop ltpacpi.sh, and make use of tst_module_* functions, also
return some general status of the acpi functions.
It seems the test is checking ACPI kernel API... but I didn't get why
this test uses block device... and what is returning from
acpi_driver_data(). The test declares its own 'acpi_ec' structure and
trying to cast return pointer from acpi_driver_data() to it. But in the
kernel, this structure is slightly different (may be it wasn't in kernel
2.6.27) and defined internally. That's why I've commented any use of
this structure in the test.
I'd appreciate any ideas.
Thanks,
Alexey
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list