Trying to boot todays linus tree with fixed PHY support enabled gets me this:
Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken and must be fixed.
------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60
The other thing is, how do I specify a fixed PHY
in OF?
Jocke
On Thu, 10 May 2007 19:41:53 +0200
Joakim Tjernlund wrote:
quoted hunk
Trying to boot todays linus tree with fixed PHY support enabled gets
me this: Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed. ------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60
The other thing is, how do I specify a fixed PHY
in OF?
I have a patch that fixes it but was busy with other stuff because of merge window.
Can send it to you meanwhile, going to deal with it after next rc released...
On Fri, 2007-05-11 at 12:07 +0400, Vitaly Bordug wrote:
On Thu, 10 May 2007 19:41:53 +0200
Joakim Tjernlund wrote:
quoted
Trying to boot todays linus tree with fixed PHY support enabled gets
me this: Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed. ------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60
The other thing is, how do I specify a fixed PHY
in OF?
I have a patch that fixes it but was busy with other stuff because of merge window.
Can send it to you meanwhile, going to deal with it after next rc released...
Please do, thanks.
Do you have any idea what needs to go into the DTS file to make my
832x(ucc_geth) find it?
On Fri, 2007-05-11 at 11:04 +0200, Joakim Tjernlund wrote:
On Fri, 2007-05-11 at 12:07 +0400, Vitaly Bordug wrote:
quoted
On Thu, 10 May 2007 19:41:53 +0200
Joakim Tjernlund wrote:
quoted
Trying to boot todays linus tree with fixed PHY support enabled gets
me this: Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed. ------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60
The other thing is, how do I specify a fixed PHY
in OF?
I have a patch that fixes it but was busy with other stuff because of merge window.
Can send it to you meanwhile, going to deal with it after next rc released...
Please do, thanks.
Do you have any idea what needs to go into the DTS file to make my
832x(ucc_geth) find it?
hmm, been trying to figure out all day how to make ucc_geth find my
fixed PHY without success. OF experts, please give me some hints.
My board is derived from the in tree mpc832x_mds bord and I am trying to
convert this part:
mdio@2320 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2320 18>;
device_type = "mdio";
compatible = "ucc_geth_phy";
phy3: ethernet-phy@03 {
interrupt-parent = < &ipic >;
interrupts = <11 8>;
reg = <3>;
device_type = "ethernet-phy";
};
phy4: ethernet-phy@04 {
interrupt-parent = < &ipic >;
interrupts = <12 8>;
reg = <4>;
device_type = "ethernet-phy";
};
};
into fixed PHYs, how do I do that?
Jocke
hmm, been trying to figure out all day how to make ucc_geth find my
fixed PHY without success. OF experts, please give me some hints.
My board is derived from the in tree mpc832x_mds bord and I am trying to
convert this part:
mdio@2320 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2320 18>;
device_type = "mdio";
compatible = "ucc_geth_phy";
phy3: ethernet-phy@03 {
interrupt-parent = < &ipic >;
interrupts = <11 8>;
reg = <3>;
device_type = "ethernet-phy";
};
phy4: ethernet-phy@04 {
interrupt-parent = < &ipic >;
interrupts = <12 8>;
reg = <4>;
device_type = "ethernet-phy";
};
};
into fixed PHYs, how do I do that?
Well, fixed phy didn't made it to have any representation in dts as of now, at least
what I am aware of, and it is just a platform device so far.
Speaking about it, I am recalling long-pending enhancement to unify fixed interface with
bus_id representation in gianfar (that is having numeric bus:device way).
About dts, the only options fixed phy can have, are speed and duplex, it does not trigger irq and
so on, and I see something like
phy1: fixed-phy@01 {
reg = <100 1>; /*100Mps, full duplex*/
device_type = "ethernet-phy";
};
--
Sincerely,
Vitaly
On Fri, 2007-05-11 at 18:04 +0400, Vitaly Bordug wrote:
quoted
hmm, been trying to figure out all day how to make ucc_geth find my
fixed PHY without success. OF experts, please give me some hints.
My board is derived from the in tree mpc832x_mds bord and I am trying to
convert this part:
mdio@2320 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2320 18>;
device_type = "mdio";
compatible = "ucc_geth_phy";
phy3: ethernet-phy@03 {
interrupt-parent = < &ipic >;
interrupts = <11 8>;
reg = <3>;
device_type = "ethernet-phy";
};
phy4: ethernet-phy@04 {
interrupt-parent = < &ipic >;
interrupts = <12 8>;
reg = <4>;
device_type = "ethernet-phy";
};
};
into fixed PHYs, how do I do that?
Well, fixed phy didn't made it to have any representation in dts as of now, at least
what I am aware of, and it is just a platform device so far.
Speaking about it, I am recalling long-pending enhancement to unify fixed interface with
bus_id representation in gianfar (that is having numeric bus:device way).
About dts, the only options fixed phy can have, are speed and duplex, it does not trigger irq and
so on, and I see something like
phy1: fixed-phy@01 {
reg = <100 1>; /*100Mps, full duplex*/
device_type = "ethernet-phy";
};
Looks resonable to me, although I think reg needs to be <d#100 1>
How do make ucc_geth find it?
PS.
Could you send me the patch that fixes:
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed.
Is this warning harmless?
@3 resp. @4 is more in line with existing practice.
phy1: fixed-phy@01 {
reg = <100 1>; /*100Mps, full duplex*/
The first entry in "reg" has to correspond to the
unit address (@01 in this case -- again, should be
@1 instead).
Never overload the meaning of well-known properties,
esp. not if it conflicts with the existing semantics,
like here.
Segher