.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global gpiProcessRegisterUniqueNick gpiProcessRegisterUniqueNick: /* 80347E24 00343A84 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80347E28 00343A88 7C 08 02 A6 */ mflr r0 /* 80347E2C 00343A8C 90 01 00 34 */ stw r0, 0x34(r1) /* 80347E30 00343A90 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80347E34 00343A94 7C BF 2B 78 */ mr r31, r5 /* 80347E38 00343A98 38 A0 00 01 */ li r5, 1 /* 80347E3C 00343A9C 93 C1 00 28 */ stw r30, 0x28(r1) /* 80347E40 00343AA0 7C 9E 23 78 */ mr r30, r4 /* 80347E44 00343AA4 7F E4 FB 78 */ mr r4, r31 /* 80347E48 00343AA8 93 A1 00 24 */ stw r29, 0x24(r1) /* 80347E4C 00343AAC 7C 7D 1B 78 */ mr r29, r3 /* 80347E50 00343AB0 48 00 01 45 */ bl gpiCheckForError /* 80347E54 00343AB4 2C 03 00 00 */ cmpwi r3, 0 /* 80347E58 00343AB8 41 82 00 0C */ beq lbl_80347E64 /* 80347E5C 00343ABC 38 60 00 04 */ li r3, 4 /* 80347E60 00343AC0 48 00 00 D4 */ b lbl_80347F34 lbl_80347E64: /* 80347E64 00343AC4 7F E3 FB 78 */ mr r3, r31 /* 80347E68 00343AC8 38 8D 92 A0 */ addi r4, r13, lbl_8063E560-_SDA_BASE_ /* 80347E6C 00343ACC 38 A0 00 04 */ li r5, 4 /* 80347E70 00343AD0 4B E8 66 F9 */ bl strncmp /* 80347E74 00343AD4 2C 03 00 00 */ cmpwi r3, 0 /* 80347E78 00343AD8 41 82 00 30 */ beq lbl_80347EA8 /* 80347E7C 00343ADC 3C A0 80 45 */ lis r5, lbl_8044B548@ha /* 80347E80 00343AE0 7F A3 EB 78 */ mr r3, r29 /* 80347E84 00343AE4 38 A5 B5 48 */ addi r5, r5, lbl_8044B548@l /* 80347E88 00343AE8 38 80 00 01 */ li r4, 1 /* 80347E8C 00343AEC 48 00 05 7D */ bl gpiSetError /* 80347E90 00343AF0 7F A3 EB 78 */ mr r3, r29 /* 80347E94 00343AF4 38 80 00 03 */ li r4, 3 /* 80347E98 00343AF8 38 A0 00 01 */ li r5, 1 /* 80347E9C 00343AFC 4B FF 7D CD */ bl gpiCallErrorCallback /* 80347EA0 00343B00 38 60 00 03 */ li r3, 3 /* 80347EA4 00343B04 48 00 00 90 */ b lbl_80347F34 lbl_80347EA8: /* 80347EA8 00343B08 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80347EAC 00343B0C 80 1E 00 10 */ lwz r0, 0x10(r30) /* 80347EB0 00343B10 2C 03 00 00 */ cmpwi r3, 0 /* 80347EB4 00343B14 90 61 00 10 */ stw r3, 0x10(r1) /* 80347EB8 00343B18 90 01 00 14 */ stw r0, 0x14(r1) /* 80347EBC 00343B1C 41 82 00 68 */ beq lbl_80347F24 /* 80347EC0 00343B20 38 60 00 04 */ li r3, 4 /* 80347EC4 00343B24 4B FF 14 51 */ bl gsimalloc /* 80347EC8 00343B28 2C 03 00 00 */ cmpwi r3, 0 /* 80347ECC 00343B2C 7C 65 1B 78 */ mr r5, r3 /* 80347ED0 00343B30 40 82 00 1C */ bne lbl_80347EEC /* 80347ED4 00343B34 3C 80 80 45 */ lis r4, lbl_8044B578@ha /* 80347ED8 00343B38 7F A3 EB 78 */ mr r3, r29 /* 80347EDC 00343B3C 38 84 B5 78 */ addi r4, r4, lbl_8044B578@l /* 80347EE0 00343B40 48 00 05 79 */ bl gpiSetErrorString /* 80347EE4 00343B44 38 60 00 01 */ li r3, 1 /* 80347EE8 00343B48 48 00 00 4C */ b lbl_80347F34 lbl_80347EEC: /* 80347EEC 00343B4C 38 00 00 00 */ li r0, 0 /* 80347EF0 00343B50 80 81 00 10 */ lwz r4, 0x10(r1) /* 80347EF4 00343B54 90 03 00 00 */ stw r0, 0(r3) /* 80347EF8 00343B58 7F A3 EB 78 */ mr r3, r29 /* 80347EFC 00343B5C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80347F00 00343B60 7F C6 F3 78 */ mr r6, r30 /* 80347F04 00343B64 90 81 00 08 */ stw r4, 8(r1) /* 80347F08 00343B68 38 81 00 08 */ addi r4, r1, 8 /* 80347F0C 00343B6C 38 E0 00 00 */ li r7, 0 /* 80347F10 00343B70 90 01 00 0C */ stw r0, 0xc(r1) /* 80347F14 00343B74 4B FF 7E 15 */ bl gpiAddCallback /* 80347F18 00343B78 2C 03 00 00 */ cmpwi r3, 0 /* 80347F1C 00343B7C 41 82 00 08 */ beq lbl_80347F24 /* 80347F20 00343B80 48 00 00 14 */ b lbl_80347F34 lbl_80347F24: /* 80347F24 00343B84 7F A3 EB 78 */ mr r3, r29 /* 80347F28 00343B88 7F C4 F3 78 */ mr r4, r30 /* 80347F2C 00343B8C 4B FF C1 31 */ bl gpiRemoveOperation /* 80347F30 00343B90 38 60 00 00 */ li r3, 0 lbl_80347F34: /* 80347F34 00343B94 80 01 00 34 */ lwz r0, 0x34(r1) /* 80347F38 00343B98 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80347F3C 00343B9C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80347F40 00343BA0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80347F44 00343BA4 7C 08 03 A6 */ mtlr r0 /* 80347F48 00343BA8 38 21 00 30 */ addi r1, r1, 0x30 /* 80347F4C 00343BAC 4E 80 00 20 */ blr