On Mon, 2011-12-12 at 20:10 -0600, Anthony Liguori wrote: > On 12/12/2011 08:04 PM, Michael Ellerman wrote: > > On Mon, 2011-12-12 at 14:19 -0600, Anthony Liguori wrote: > >> This was doing something evil building a dt tree so we broke the device. > > > >> @@ -711,8 +711,12 @@ VIOsPAPRBus *spapr_vio_bus_init(void) > >> spapr_rtas_register("ibm,set-tce-bypass", rtas_set_tce_bypass); > >> spapr_rtas_register("quiesce", rtas_quiesce); > >> > >> +#if 0 > >> + /* Evil and broken */ > > > > By which you mean: works fine, broken by your patch? > > These patches were never supposed to go out. Ignore this series entirely.
But I just read all 197 of them ! ;) > >> for (qinfo = device_info_list; qinfo; qinfo = qinfo->next) { > >> VIOsPAPRDeviceInfo *info = (VIOsPAPRDeviceInfo *)qinfo; > >> + VIOsPAPRDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev); > >> > >> if (qinfo->bus_info !=&spapr_vio_bus_info) { > >> continue; > >> @@ -722,6 +726,7 @@ VIOsPAPRBus *spapr_vio_bus_init(void) > >> info->hcalls(bus); > >> } > >> } > >> +#endif > > > > It's registering hcalls for each class of device we find on the spapr > > vio bus. I don't understand why that is evil, but what do you suggest we > > do instead? > > I talked to David about this, the hcalls can just be registered as part the > device_init entry points. OK I'll talk to him about it. I don't think device_init() works, because we only want to register the hcalls if an instance of the device is instantiated. But I guess we'll come up with something. cheers
signature.asc
Description: This is a digitally signed message part