|  | /* SPDX-License-Identifier: GPL-2.0 */ | 
|  | #ifndef _ADFS_FS_H | 
|  | #define _ADFS_FS_H | 
|  |  | 
|  | #include <uapi/linux/adfs_fs.h> | 
|  |  | 
|  | /* | 
|  | * Calculate the boot block checksum on an ADFS drive.  Note that this will | 
|  | * appear to be correct if the sector contains all zeros, so also check that | 
|  | * the disk size is non-zero!!! | 
|  | */ | 
|  | static inline int adfs_checkbblk(unsigned char *ptr) | 
|  | { | 
|  | unsigned int result = 0; | 
|  | unsigned char *p = ptr + 511; | 
|  |  | 
|  | do { | 
|  | result = (result & 0xff) + (result >> 8); | 
|  | result = result + *--p; | 
|  | } while (p != ptr); | 
|  |  | 
|  | return (result & 0xff) != ptr[511]; | 
|  | } | 
|  | #endif |