From: Keshavamurthy A. S <ani...@in...> - 2004-09-20 19:01:42
|
On Mon, Sep 20, 2004 at 01:26:44PM -0500, Dmitry Torokhov wrote: > On Monday 20 September 2004 11:34 am, Keshavamurthy Anil S wrote: > > +void > > +acpi_bus_trim(struct acpi_device=A0=A0=A0=A0=A0=A0=A0*start, > > +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0int rmdevice) > > +{ > > +=A0=A0=A0=A0=A0=A0=A0acpi_status=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0status =3D AE_OK; > > +=A0=A0=A0=A0=A0=A0=A0struct acpi_device=A0=A0=A0=A0=A0=A0*parent =3D= NULL; > > +=A0=A0=A0=A0=A0=A0=A0struct acpi_device=A0=A0=A0=A0=A0=A0*child =3D = NULL; > > +=A0=A0=A0=A0=A0=A0=A0acpi_handle=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0phandle =3D 0; > > +=A0=A0=A0=A0=A0=A0=A0acpi_handle=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0chandle =3D 0; > > + > > +=A0=A0=A0=A0=A0=A0=A0parent =A0=3D start; > > +=A0=A0=A0=A0=A0=A0=A0phandle =3D start->handle; >=20 >=20 > Why do all these variables have to be initialized? parent and phandle a= re > set up explicitly couple of lines below, the rest is only used safely > as well... You are correct, variable initialization can be removed. I will do this. >=20 > Also, introducing recursion (depth does not seem to be limited here) is > not a good idea IMHO - better convert it into iteration to avoid stack > problems down teh road. Humm, I guess recursion should be fine and even though the code does not = have an explicit limit, the ACPI namespace describing the Ejectable device wil= l limit the number of recursible devices. And I believe this won;t be more than 3 to = 4 level depth. Hence recursion is fine here. If you still strongly believe that recursion is not the right choice here= ,=20 let me know and I will convert it to iteration. Thanks, Anil |