On Wed, Mar 21, 2012 at 04:41:08PM -0500, Kent Yoder wrote: > +static int nx_register_algs(void) > +{ > + int rc = -1; > + > + if (nx_driver.of.flags != NX_OF_FLAG_MASK_READY) > + goto out; > + > + memset(&nx_driver.stats, 0, sizeof(struct nx_stats)); > + > + rc = nx_sysfs_init(&nx_driver.viodriver.driver); Ok, that's not bad, you are doing it from the probe() function of your bus. As long as the bus got things right on when uevents get sent to userspace, does it? > +static struct vio_device_id nx_crypto_driver_ids[] __devinitdata = { > + { "ibm,sym-encryption-v1", "ibm,sym-encryption" }, > + { "", "" } > +}; > +MODULE_DEVICE_TABLE(vio, nx_crypto_driver_ids); > + > +/* driver state structure */ > +struct nx_crypto_driver nx_driver = { > + .viodriver = { > + .id_table = nx_crypto_driver_ids, > + .probe = nx_probe, > + .remove = nx_remove, > + .driver = { > + .name = "nx", > + .owner = THIS_MODULE, > + }, Really? vio drivers are supposed to look like this with the .name and .owner field manually being set in the static initialization of the driver? That's sad, and should be fixed, the vio core should do this type of thing for you. greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html