ns558
ns558 = kzalloc_obj(*ns558);
if (!ns558 || !port) {
kfree(ns558);
ns558->io = io;
ns558->size = 1 << i;
ns558->gameport = port;
list_add(&ns558->node, &ns558_list);
struct ns558 *ns558;
ns558 = kzalloc_obj(*ns558);
if (!ns558 || !port) {
kfree(ns558);
ns558->io = ioport;
ns558->size = iolen;
ns558->dev = dev;
ns558->gameport = port;
list_add_tail(&ns558->node, &ns558_list);
struct ns558 *ns558, *safe;
list_for_each_entry_safe(ns558, safe, &ns558_list, node) {
gameport_unregister_port(ns558->gameport);
release_region(ns558->io & ~(ns558->size - 1), ns558->size);
kfree(ns558);
struct ns558 *ns558;