Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
adb7ee37
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
adb7ee37
编写于
6月 23, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/home/rmk/linux-2.6-arm
上级
f46f6b20
691027b9
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
167 addition
and
27 deletion
+167
-27
arch/arm/configs/s3c2410_defconfig
arch/arm/configs/s3c2410_defconfig
+18
-9
arch/arm/mach-s3c2410/mach-bast.c
arch/arm/mach-s3c2410/mach-bast.c
+44
-5
arch/arm/mach-s3c2410/mach-vr1000.c
arch/arm/mach-s3c2410/mach-vr1000.c
+73
-4
arch/arm/nwfpe/softfloat-macros
arch/arm/nwfpe/softfloat-macros
+18
-4
arch/arm/nwfpe/softfloat.c
arch/arm/nwfpe/softfloat.c
+10
-2
drivers/serial/s3c2410.c
drivers/serial/s3c2410.c
+2
-2
drivers/video/pxafb.c
drivers/video/pxafb.c
+2
-1
未找到文件。
arch/arm/configs/s3c2410_defconfig
浏览文件 @
adb7ee37
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.12-
rc1-bk2
#
Sun Mar 27 17:47:45
2005
# Linux kernel version: 2.6.12-
git4
#
Wed Jun 22 15:56:42
2005
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
...
...
@@ -17,6 +16,7 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_CLEAN_COMPILE is not set
CONFIG_BROKEN=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
...
...
@@ -35,6 +35,8 @@ CONFIG_KOBJECT_UEVENT=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
...
...
@@ -81,6 +83,7 @@ CONFIG_ARCH_S3C2410=y
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
#
# S3C24XX Implementations
...
...
@@ -134,6 +137,7 @@ CONFIG_CPU_TLB_V4WBI=y
#
# Bus support
#
CONFIG_ISA_DMA_API=y
#
# PCCARD (PCMCIA/CardBus) support
...
...
@@ -143,7 +147,9 @@ CONFIG_CPU_TLB_V4WBI=y
#
# Kernel Features
#
# CONFIG_SMP is not set
# CONFIG_PREEMPT is not set
# CONFIG_DISCONTIGMEM is not set
CONFIG_ALIGNMENT_TRAP=y
#
...
...
@@ -297,7 +303,6 @@ CONFIG_PARPORT_1284=y
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
...
...
@@ -359,6 +364,7 @@ CONFIG_BLK_DEV_IDE_BAST=y
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
...
...
@@ -378,10 +384,11 @@ CONFIG_NET=y
# Networking options
#
# CONFIG_PACKET is not set
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
...
...
@@ -443,8 +450,9 @@ CONFIG_NETDEVICES=y
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
CONFIG_MII=m
# CONFIG_SMC91X is not set
CONFIG_DM9000=m
#
# Ethernet (1000 Mbit)
...
...
@@ -521,7 +529,6 @@ CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
#
# Character devices
...
...
@@ -605,7 +612,6 @@ CONFIG_S3C2410_RTC=y
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
#
# I2C support
...
...
@@ -654,6 +660,7 @@ CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM85=m
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
...
...
@@ -665,6 +672,7 @@ CONFIG_SENSORS_LM85=m
#
# Other I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
CONFIG_SENSORS_EEPROM=m
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCF8591 is not set
...
...
@@ -696,8 +704,10 @@ CONFIG_FB=y
# CONFIG_FB_CFB_COPYAREA is not set
# CONFIG_FB_CFB_IMAGEBLIT is not set
# CONFIG_FB_SOFT_CURSOR is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
#
...
...
@@ -782,7 +792,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
# CONFIG_TMPFS is not set
# CONFIG_HUGETLBFS is not set
...
...
arch/arm/mach-s3c2410/mach-bast.c
浏览文件 @
adb7ee37
...
...
@@ -26,6 +26,7 @@
* 03-Mar-2005 BJD Ensured that bast-cpld.h is included
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
* 14-Mar-2006 BJD Updated for __iomem changes
* 22-Jun-2006 BJD Added DM9000 platform information
*/
#include <linux/kernel.h>
...
...
@@ -35,6 +36,7 @@
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/dm9000.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -53,6 +55,7 @@
#include <asm/arch/regs-serial.h>
#include <asm/arch/regs-gpio.h>
#include <asm/arch/regs-mem.h>
#include <asm/arch/regs-lcd.h>
#include <asm/arch/nand.h>
#include <linux/mtd/mtd.h>
...
...
@@ -112,7 +115,6 @@ static struct map_desc bast_iodesc[] __initdata = {
{
VA_C2
(
BAST_VA_ISAMEM
),
PA_CS2
(
BAST_PA_ISAMEM
),
SZ_16M
,
MT_DEVICE
},
{
VA_C2
(
BAST_VA_ASIXNET
),
PA_CS3
(
BAST_PA_ASIXNET
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
BAST_VA_SUPERIO
),
PA_CS2
(
BAST_PA_SUPERIO
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
BAST_VA_DM9000
),
PA_CS2
(
BAST_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
BAST_VA_IDEPRI
),
PA_CS3
(
BAST_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
BAST_VA_IDESEC
),
PA_CS3
(
BAST_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
BAST_VA_IDEPRIAUX
),
PA_CS3
(
BAST_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
...
...
@@ -123,7 +125,6 @@ static struct map_desc bast_iodesc[] __initdata = {
{
VA_C3
(
BAST_VA_ISAMEM
),
PA_CS3
(
BAST_PA_ISAMEM
),
SZ_16M
,
MT_DEVICE
},
{
VA_C3
(
BAST_VA_ASIXNET
),
PA_CS3
(
BAST_PA_ASIXNET
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
BAST_VA_SUPERIO
),
PA_CS3
(
BAST_PA_SUPERIO
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
BAST_VA_DM9000
),
PA_CS3
(
BAST_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
BAST_VA_IDEPRI
),
PA_CS3
(
BAST_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
BAST_VA_IDESEC
),
PA_CS3
(
BAST_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
BAST_VA_IDEPRIAUX
),
PA_CS3
(
BAST_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
...
...
@@ -134,7 +135,6 @@ static struct map_desc bast_iodesc[] __initdata = {
{
VA_C4
(
BAST_VA_ISAMEM
),
PA_CS4
(
BAST_PA_ISAMEM
),
SZ_16M
,
MT_DEVICE
},
{
VA_C4
(
BAST_VA_ASIXNET
),
PA_CS5
(
BAST_PA_ASIXNET
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
BAST_VA_SUPERIO
),
PA_CS4
(
BAST_PA_SUPERIO
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
BAST_VA_DM9000
),
PA_CS4
(
BAST_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
BAST_VA_IDEPRI
),
PA_CS5
(
BAST_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
BAST_VA_IDESEC
),
PA_CS5
(
BAST_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
BAST_VA_IDEPRIAUX
),
PA_CS5
(
BAST_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
...
...
@@ -145,7 +145,6 @@ static struct map_desc bast_iodesc[] __initdata = {
{
VA_C5
(
BAST_VA_ISAMEM
),
PA_CS5
(
BAST_PA_ISAMEM
),
SZ_16M
,
MT_DEVICE
},
{
VA_C5
(
BAST_VA_ASIXNET
),
PA_CS5
(
BAST_PA_ASIXNET
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
BAST_VA_SUPERIO
),
PA_CS5
(
BAST_PA_SUPERIO
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
BAST_VA_DM9000
),
PA_CS5
(
BAST_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
BAST_VA_IDEPRI
),
PA_CS5
(
BAST_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
BAST_VA_IDESEC
),
PA_CS5
(
BAST_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
BAST_VA_IDEPRIAUX
),
PA_CS5
(
BAST_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
...
...
@@ -313,6 +312,45 @@ static struct s3c2410_platform_nand bast_nand_info = {
.
select_chip
=
bast_nand_select
,
};
/* DM9000 */
static
struct
resource
bast_dm9k_resource
[]
=
{
[
0
]
=
{
.
start
=
S3C2410_CS5
+
BAST_PA_DM9000
,
.
end
=
S3C2410_CS5
+
BAST_PA_DM9000
+
3
,
.
flags
=
IORESOURCE_MEM
},
[
1
]
=
{
.
start
=
S3C2410_CS5
+
BAST_PA_DM9000
+
0x40
,
.
end
=
S3C2410_CS5
+
BAST_PA_DM9000
+
0x40
+
0x3f
,
.
flags
=
IORESOURCE_MEM
},
[
2
]
=
{
.
start
=
IRQ_DM9000
,
.
end
=
IRQ_DM9000
,
.
flags
=
IORESOURCE_IRQ
}
};
/* for the moment we limit ourselves to 16bit IO until some
* better IO routines can be written and tested
*/
struct
dm9000_plat_data
bast_dm9k_platdata
=
{
.
flags
=
DM9000_PLATF_16BITONLY
};
static
struct
platform_device
bast_device_dm9k
=
{
.
name
=
"dm9000"
,
.
id
=
0
,
.
num_resources
=
ARRAY_SIZE
(
bast_dm9k_resource
),
.
resource
=
bast_dm9k_resource
,
.
dev
=
{
.
platform_data
=
&
bast_dm9k_platdata
,
}
};
/* Standard BAST devices */
...
...
@@ -324,7 +362,8 @@ static struct platform_device *bast_devices[] __initdata = {
&
s3c_device_iis
,
&
s3c_device_rtc
,
&
s3c_device_nand
,
&
bast_device_nor
&
bast_device_nor
,
&
bast_device_dm9k
,
};
static
struct
clk
*
bast_clocks
[]
=
{
...
...
arch/arm/mach-s3c2410/mach-vr1000.c
浏览文件 @
adb7ee37
...
...
@@ -27,6 +27,7 @@
* 10-Feb-2005 BJD Added power-off capability
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
* 14-Mar-2006 BJD void __iomem fixes
* 22-Jun-2006 BJD Added DM9000 platform information
*/
#include <linux/kernel.h>
...
...
@@ -35,6 +36,7 @@
#include <linux/list.h>
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/dm9000.h>
#include <linux/serial.h>
#include <linux/tty.h>
...
...
@@ -98,28 +100,24 @@ static struct map_desc vr1000_iodesc[] __initdata = {
* are only 8bit */
/* slow, byte */
{
VA_C2
(
VR1000_VA_DM9000
),
PA_CS2
(
VR1000_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
VR1000_VA_IDEPRI
),
PA_CS3
(
VR1000_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
VR1000_VA_IDESEC
),
PA_CS3
(
VR1000_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
VR1000_VA_IDEPRIAUX
),
PA_CS3
(
VR1000_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
{
VA_C2
(
VR1000_VA_IDESECAUX
),
PA_CS3
(
VR1000_PA_IDESECAUX
),
SZ_1M
,
MT_DEVICE
},
/* slow, word */
{
VA_C3
(
VR1000_VA_DM9000
),
PA_CS3
(
VR1000_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
VR1000_VA_IDEPRI
),
PA_CS3
(
VR1000_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
VR1000_VA_IDESEC
),
PA_CS3
(
VR1000_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
VR1000_VA_IDEPRIAUX
),
PA_CS3
(
VR1000_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
{
VA_C3
(
VR1000_VA_IDESECAUX
),
PA_CS3
(
VR1000_PA_IDESECAUX
),
SZ_1M
,
MT_DEVICE
},
/* fast, byte */
{
VA_C4
(
VR1000_VA_DM9000
),
PA_CS4
(
VR1000_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
VR1000_VA_IDEPRI
),
PA_CS5
(
VR1000_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
VR1000_VA_IDESEC
),
PA_CS5
(
VR1000_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
VR1000_VA_IDEPRIAUX
),
PA_CS5
(
VR1000_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
{
VA_C4
(
VR1000_VA_IDESECAUX
),
PA_CS5
(
VR1000_PA_IDESECAUX
),
SZ_1M
,
MT_DEVICE
},
/* fast, word */
{
VA_C5
(
VR1000_VA_DM9000
),
PA_CS5
(
VR1000_PA_DM9000
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
VR1000_VA_IDEPRI
),
PA_CS5
(
VR1000_PA_IDEPRI
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
VR1000_VA_IDESEC
),
PA_CS5
(
VR1000_PA_IDESEC
),
SZ_1M
,
MT_DEVICE
},
{
VA_C5
(
VR1000_VA_IDEPRIAUX
),
PA_CS5
(
VR1000_PA_IDEPRIAUX
),
SZ_1M
,
MT_DEVICE
},
...
...
@@ -246,6 +244,74 @@ static struct platform_device vr1000_nor = {
.
resource
=
vr1000_nor_resource
,
};
/* DM9000 ethernet devices */
static
struct
resource
vr1000_dm9k0_resource
[]
=
{
[
0
]
=
{
.
start
=
S3C2410_CS5
+
VR1000_PA_DM9000
,
.
end
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
3
,
.
flags
=
IORESOURCE_MEM
},
[
1
]
=
{
.
start
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
0x40
,
.
end
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
0x7f
,
.
flags
=
IORESOURCE_MEM
},
[
2
]
=
{
.
start
=
IRQ_VR1000_DM9000A
,
.
end
=
IRQ_VR1000_DM9000A
,
.
flags
=
IORESOURCE_IRQ
}
};
static
struct
resource
vr1000_dm9k1_resource
[]
=
{
[
0
]
=
{
.
start
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
0x80
,
.
end
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
0x83
,
.
flags
=
IORESOURCE_MEM
},
[
1
]
=
{
.
start
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
0xC0
,
.
end
=
S3C2410_CS5
+
VR1000_PA_DM9000
+
0xFF
,
.
flags
=
IORESOURCE_MEM
},
[
2
]
=
{
.
start
=
IRQ_VR1000_DM9000N
,
.
end
=
IRQ_VR1000_DM9000N
,
.
flags
=
IORESOURCE_IRQ
}
};
/* for the moment we limit ourselves to 16bit IO until some
* better IO routines can be written and tested
*/
struct
dm9000_plat_data
vr1000_dm9k_platdata
=
{
.
flags
=
DM9000_PLATF_16BITONLY
,
};
static
struct
platform_device
vr1000_dm9k0
=
{
.
name
=
"dm9000"
,
.
id
=
0
,
.
num_resources
=
ARRAY_SIZE
(
vr1000_dm9k0_resource
),
.
resource
=
vr1000_dm9k0_resource
,
.
dev
=
{
.
platform_data
=
&
vr1000_dm9k_platdata
,
}
};
static
struct
platform_device
vr1000_dm9k1
=
{
.
name
=
"dm9000"
,
.
id
=
1
,
.
num_resources
=
ARRAY_SIZE
(
vr1000_dm9k1_resource
),
.
resource
=
vr1000_dm9k1_resource
,
.
dev
=
{
.
platform_data
=
&
vr1000_dm9k_platdata
,
}
};
/* devices for this board */
static
struct
platform_device
*
vr1000_devices
[]
__initdata
=
{
&
s3c_device_usb
,
...
...
@@ -253,8 +319,11 @@ static struct platform_device *vr1000_devices[] __initdata = {
&
s3c_device_wdt
,
&
s3c_device_i2c
,
&
s3c_device_iis
,
&
s3c_device_adc
,
&
serial_device
,
&
vr1000_nor
,
&
vr1000_dm9k0
,
&
vr1000_dm9k1
};
static
struct
clk
*
vr1000_clocks
[]
=
{
...
...
arch/arm/nwfpe/softfloat-macros
浏览文件 @
adb7ee37
...
...
@@ -563,8 +563,14 @@ static bits64 estimateDiv128To64( bits64 a0, bits64 a1, bits64 b )
bits64 rem0, rem1, term0, term1;
bits64 z;
if ( b <= a0 ) return LIT64( 0xFFFFFFFFFFFFFFFF );
b0 = b>>32;
z = ( b0<<32 <= a0 ) ? LIT64( 0xFFFFFFFF00000000 ) : ( a0 / b0 )<<32;
b0 = b>>32; /* hence b0 is 32 bits wide now */
if ( b0<<32 <= a0 ) {
z = LIT64( 0xFFFFFFFF00000000 );
} else {
z = a0;
do_div( z, b0 );
z <<= 32;
}
mul64To128( b, z, &term0, &term1 );
sub128( a0, a1, term0, term1, &rem0, &rem1 );
while ( ( (sbits64) rem0 ) < 0 ) {
...
...
@@ -573,7 +579,12 @@ static bits64 estimateDiv128To64( bits64 a0, bits64 a1, bits64 b )
add128( rem0, rem1, b0, b1, &rem0, &rem1 );
}
rem0 = ( rem0<<32 ) | ( rem1>>32 );
z |= ( b0<<32 <= rem0 ) ? 0xFFFFFFFF : rem0 / b0;
if ( b0<<32 <= rem0 ) {
z |= 0xFFFFFFFF;
} else {
do_div( rem0, b0 );
z |= rem0;
}
return z;
}
...
...
@@ -601,6 +612,7 @@ static bits32 estimateSqrt32( int16 aExp, bits32 a )
};
int8 index;
bits32 z;
bits64 A;
index = ( a>>27 ) & 15;
if ( aExp & 1 ) {
...
...
@@ -614,7 +626,9 @@ static bits32 estimateSqrt32( int16 aExp, bits32 a )
z = ( 0x20000 <= z ) ? 0xFFFF8000 : ( z<<15 );
if ( z <= a ) return (bits32) ( ( (sbits32) a )>>1 );
}
return ( (bits32) ( ( ( (bits64) a )<<31 ) / z ) ) + ( z>>1 );
A = ( (bits64) a )<<31;
do_div( A, z );
return ( (bits32) A ) + ( z>>1 );
}
...
...
arch/arm/nwfpe/softfloat.c
浏览文件 @
adb7ee37
...
...
@@ -28,6 +28,8 @@ this code that are retained.
===============================================================================
*/
#include <asm/div64.h>
#include "fpa11.h"
//#include "milieu.h"
//#include "softfloat.h"
...
...
@@ -1331,7 +1333,11 @@ float32 float32_div( float32 a, float32 b )
aSig
>>=
1
;
++
zExp
;
}
zSig
=
(
(
(
bits64
)
aSig
)
<<
32
)
/
bSig
;
{
bits64
tmp
=
(
(
bits64
)
aSig
)
<<
32
;
do_div
(
tmp
,
bSig
);
zSig
=
tmp
;
}
if
(
(
zSig
&
0x3F
)
==
0
)
{
zSig
|=
(
(
(
bits64
)
bSig
)
*
zSig
!=
(
(
bits64
)
aSig
)
<<
32
);
}
...
...
@@ -1397,7 +1403,9 @@ float32 float32_rem( float32 a, float32 b )
q
=
(
bSig
<=
aSig
);
if
(
q
)
aSig
-=
bSig
;
if
(
0
<
expDiff
)
{
q
=
(
(
(
bits64
)
aSig
)
<<
32
)
/
bSig
;
bits64
tmp
=
(
(
bits64
)
aSig
)
<<
32
;
do_div
(
tmp
,
bSig
);
q
=
tmp
;
q
>>=
32
-
expDiff
;
bSig
>>=
2
;
aSig
=
(
(
aSig
>>
1
)
<<
(
expDiff
-
1
)
)
-
bSig
*
q
;
...
...
drivers/serial/s3c2410.c
浏览文件 @
adb7ee37
...
...
@@ -198,7 +198,7 @@ static inline struct s3c24xx_uart_port *to_ourport(struct uart_port *port)
/* translate a port to the device name */
static
inline
char
*
s3c24xx_serial_portname
(
struct
uart_port
*
port
)
static
inline
c
onst
c
har
*
s3c24xx_serial_portname
(
struct
uart_port
*
port
)
{
return
to_platform_device
(
port
->
dev
)
->
name
;
}
...
...
@@ -903,7 +903,7 @@ static void s3c24xx_serial_release_port(struct uart_port *port)
static
int
s3c24xx_serial_request_port
(
struct
uart_port
*
port
)
{
char
*
name
=
s3c24xx_serial_portname
(
port
);
c
onst
c
har
*
name
=
s3c24xx_serial_portname
(
port
);
return
request_mem_region
(
port
->
mapbase
,
MAP_SIZE
,
name
)
?
0
:
-
EBUSY
;
}
...
...
drivers/video/pxafb.c
浏览文件 @
adb7ee37
...
...
@@ -43,6 +43,7 @@
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/div64.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/bitfield.h>
#include <asm/arch/pxafb.h>
...
...
@@ -460,7 +461,7 @@ static inline unsigned int get_pcd(unsigned int pixclock)
* speeds */
pcd
=
(
unsigned
long
long
)
get_lcdclk_frequency_10khz
()
*
pixclock
;
pcd
/=
100000000
*
2
;
do_div
(
pcd
,
100000000
*
2
)
;
/* no need for this, since we should subtract 1 anyway. they cancel */
/* pcd += 1; */
/* make up for integer math truncations */
return
(
unsigned
int
)
pcd
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录